@robota-sdk/agent-session 3.0.0-beta.82 → 3.0.0-beta.83
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.
- package/CHANGELOG.md +59 -0
- package/dist/node/index.cjs +1 -1
- package/dist/node/index.d.cts +2 -0
- package/dist/node/index.d.cts.map +1 -1
- package/dist/node/index.d.ts +2 -0
- package/dist/node/index.d.ts.map +1 -1
- package/dist/node/index.js +9 -9
- package/dist/node/index.js.map +1 -1
- package/package.json +8 -7
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,64 @@
|
|
|
1
1
|
# @robota-sdk/agent-session
|
|
2
2
|
|
|
3
|
+
## 3.0.0-beta.83
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- e689c8e: Follow-ups to connection approval and `/handoff`.
|
|
8
|
+
|
|
9
|
+
- `agent-transport-webrtc-web` — the browser remote client says `Waiting for the host to approve this connection…`
|
|
10
|
+
(`awaiting-approval`) after pairing, and `Connected` only once the host's session answers. A host that closes the
|
|
11
|
+
channel instead is shown as `refused` and is not retried, since a retry would only ask the operator again; a
|
|
12
|
+
first connection lost before the host answered is `failed`. Reconnect attempts count until the host admits a
|
|
13
|
+
connection, so a link that keeps dropping while approval is pending gives up instead of asking again and again.
|
|
14
|
+
- `agent-core`, `agent-session`, `agent-framework` — a turn that did not come from the operator stores its
|
|
15
|
+
`turnSource` (`peer`, `external`, `agent-wakeup`) beside `driverId` on the user message and in the display
|
|
16
|
+
history (`IRunOptions.turnSource`), so a session handed off keeps where each turn came from.
|
|
17
|
+
- `agent-cli` — a `/handoff` resent after a lost confirmation reports what stays behind as it is now, not as it was
|
|
18
|
+
at the first attempt, and after refusing to resend a session that changed, the hand-off status shows that refusal
|
|
19
|
+
instead of the earlier lost confirmation.
|
|
20
|
+
|
|
21
|
+
### Patch Changes
|
|
22
|
+
|
|
23
|
+
- be0e53c: A tool instance shared by several sessions sends each call's span to the session that made the call.
|
|
24
|
+
|
|
25
|
+
- **Before:** each session set its event service on the shared instance, so the span went to whichever session had set it last.
|
|
26
|
+
- **`agent-core`:** `IToolExecutionContext` gains an optional `instanceEventService`. `FunctionTool` emits its span there when a call carries one.
|
|
27
|
+
- **`agent-session`:** the permission wrapper keeps its session's service and passes it with every call.
|
|
28
|
+
|
|
29
|
+
- 57280bf: Every published package now declares `"engines": { "node": ">=22.12.0" }`. Before, 27 of the 38
|
|
30
|
+
packages declared no floor (`agent-core`, `agent-tools` and every provider among them),
|
|
31
|
+
`agent-session` and `agent-file-authority` declared `>=20.19.0`, and the other nine declared
|
|
32
|
+
`>=22.0.0`, so a consumer on Node 20 saw at most a warning from a transitive dependency.
|
|
33
|
+
|
|
34
|
+
Why 22.12: `agent-cli` and `agent-ui-terminal` need Node 22 through `ink` 7, and the CommonJS entries
|
|
35
|
+
of `agent-tools` and its dependents, `agent-transport`/`node` and its dependents, and
|
|
36
|
+
`agent-ui-terminal` `require()` ESM-only dependencies (`p-limit`, `jose`, `chalk`), which Node 22
|
|
37
|
+
supports unflagged only from 22.12. `engines` is advisory unless the consumer enables `engine-strict`.
|
|
38
|
+
|
|
39
|
+
No code changes: `tsdown` now reads `node22.12.0` as its build target from the field.
|
|
40
|
+
|
|
41
|
+
- 18c0d5c: Every published package now exports `./package.json`, so `require('<package>/package.json')` and
|
|
42
|
+
`import('<package>/package.json', { with: { type: 'json' } })` work instead of failing with
|
|
43
|
+
`ERR_PACKAGE_PATH_NOT_EXPORTED`, and each tarball now ships the package's `CHANGELOG.md`.
|
|
44
|
+
- Updated dependencies [e689c8e]
|
|
45
|
+
- Updated dependencies [7b72344]
|
|
46
|
+
- Updated dependencies [6ae3f28]
|
|
47
|
+
- Updated dependencies [be0e53c]
|
|
48
|
+
- Updated dependencies [57f57f5]
|
|
49
|
+
- Updated dependencies [ba822c1]
|
|
50
|
+
- Updated dependencies [6e6b06b]
|
|
51
|
+
- Updated dependencies [8bd5fac]
|
|
52
|
+
- Updated dependencies [57280bf]
|
|
53
|
+
- Updated dependencies [5033dd9]
|
|
54
|
+
- Updated dependencies [18c0d5c]
|
|
55
|
+
- Updated dependencies [dbd888d]
|
|
56
|
+
- Updated dependencies [1887e54]
|
|
57
|
+
- @robota-sdk/agent-core@3.0.0-beta.83
|
|
58
|
+
- @robota-sdk/agent-interface-session@3.0.0-beta.83
|
|
59
|
+
- @robota-sdk/agent-file-authority@3.0.0-beta.83
|
|
60
|
+
- @robota-sdk/agent-interface-execution@3.0.0-beta.83
|
|
61
|
+
|
|
3
62
|
## 3.0.0-beta.82
|
|
4
63
|
|
|
5
64
|
### Minor Changes
|
package/dist/node/index.cjs
CHANGED
|
@@ -2,7 +2,7 @@ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});let e=require
|
|
|
2
2
|
`))}var _=class extends Error{constructor(e){super(e),this.name=`CompactionError`}};const v=[`Summarize the following conversation concisely, preserving:`,`- User's original requests and goals`,`- Key decisions, conclusions, and important state`,`- Identifiers, names, and references needed to continue the work`,`- Current task status and next steps`,`Drop verbose intermediate outputs and exploratory work that didn't lead to results.`].join(`
|
|
3
3
|
`);var ee=class{sessionId;cwd;model;hooks;compactInstructions;basePrompt;hookTypeExecutors;constructor(e){this.sessionId=e.sessionId,this.cwd=e.cwd,this.model=e.model,this.hooks=e.hooks,this.compactInstructions=e.compactInstructions,this.basePrompt=e.basePrompt,this.hookTypeExecutors=e.hookTypeExecutors}async compact(t,r,i,a,o=`manual`,s){if(a?.throwIfAborted(),r.length===0)throw new _(`Compaction was asked to summarise an empty history; conversation history preserved untouched`);let c={session_id:this.sessionId,cwd:this.cwd,hook_event_name:`PreCompact`,trigger:o};await(0,e.runHooks)(this.hooks,`PreCompact`,c,this.hookTypeExecutors,s);let l=this.buildCompactionPrompt(r,i),u=await t.chat([{id:(0,n.randomUUID)(),role:`user`,content:l,state:`complete`,timestamp:new Date}],{model:this.model,toolChoice:`none`,preserveContextWindow:!0,...a===void 0?{}:{signal:a}});if(a?.throwIfAborted(),typeof u.content!=`string`||u.content.trim()===``)throw new _(`Compaction produced an invalid summary (provider=${t.name}, content type=${typeof u.content}); conversation history preserved untouched`);return u.content}buildCompactionPrompt(e,t){let n=t??this.compactInstructions??``,r=n?`\nAdditional focus:\n${n}\n`:``,i=g(e).join(`
|
|
4
4
|
`);return[this.basePrompt??v,r,``,`Conversation:`,i].join(`
|
|
5
|
-
`)}};const y=.835;var b=class{contextUsedTokens=0;contextMaxTokens;autoCompactThreshold;constructor(t,n,r){this.contextMaxTokens=n??(0,e.getModelContextWindow)(t),this.autoCompactThreshold=te(r)}getContextState(){let e=Math.min(100,this.contextUsedTokens/this.contextMaxTokens*100);return{maxTokens:this.contextMaxTokens,usedTokens:this.contextUsedTokens,usedPercentage:Math.round(e*100)/100,remainingPercentage:Math.round((100-e)*100)/100}}shouldAutoCompact(){return this.autoCompactThreshold!==!1&&this.getContextState().usedPercentage>=this.autoCompactThreshold*100}getAutoCompactThreshold(){return this.autoCompactThreshold}setAutoCompactThreshold(e){this.autoCompactThreshold=te(e)}updateFromHistory(t){this.contextUsedTokens=(0,e.estimateContextTokensFromMessages)(t).usedTokens}reset(){this.contextUsedTokens=0}};function te(e){if(e===void 0)return y;if(e===!1)return!1;if(!Number.isFinite(e)||e<=0||e>1)throw RangeError(`autoCompactThreshold must be a number greater than 0 and at most 1.`);return e}async function ne(e,t){if(t===void 0)return e;if(t.aborted)return!1;let n;try{return await Promise.race([e,new Promise(e=>{n=()=>e(!1),t.addEventListener(`abort`,n,{once:!0})})])}finally{n!==void 0&&t.removeEventListener(`abort`,n)}}function re(e){return e===`allow-session`?{allowed:!0,rememberForSession:!0,rememberForProject:!1}:e===`allow-project`?{allowed:!0,rememberForSession:!0,rememberForProject:!0}:{allowed:e===!0,rememberForSession:!1,rememberForProject:!1}}async function ie(e){let t={allowed:!1,rememberForSession:!1,rememberForProject:!1};if(e.alreadyAllowed)return{allowed:!0,rememberForSession:!1,rememberForProject:!1};if(e.signal?.aborted===!0)return t;let n=e.handler?()=>e.handler(e.toolName,e.toolArgs):e.injectedPrompt&&e.terminal?()=>e.injectedPrompt(e.terminal,e.toolName,e.toolArgs):void 0;return n===void 0?t:re(await ne(n(),e.signal))}function ae(e,t){return`${e}\u0000${JSON.stringify(t)}`}var oe=class{classifier;consecutive=0;total=0;paused=!1;retries=new Set;constructor(e){this.classifier=e}isPaused(){return this.paused}resume(){this.paused=!1,this.consecutive=0}grantRetry(e,t){this.retries.add(ae(e,t))}takeRetry(e,t){return this.retries.delete(ae(e,t))}async judge(e,t){let n;try{n=await this.classifier.classify(e,t)}catch{n=void 0}if(n===void 0){t?.aborted!==!0&&(this.consecutive+=1);let e=this.consecutive>=3;return e&&(this.paused=!0),{kind:`unusable`,reason:`no usable verdict`,message:`The auto-mode classifier gave no usable verdict, so the call was not run. Try again, or ask the user to approve it.`+(e?` Auto mode is paused: the next calls ask the user.`:``)}}if(n.decision===`allow`)return this.consecutive=0,{kind:`allow`};this.consecutive+=1,this.total+=1;let r=this.consecutive>=3||this.total>=20;return this.total>=20&&(this.total=0),r&&(this.paused=!0),{kind:`block`,reason:n.reason,message:`Blocked by the auto-mode classifier: ${n.reason}. Do not retry the same action; take another approach or ask the user.`+(r?` Auto mode is paused after repeated blocks: the next calls ask the user.`:``)}}};function se(e){let t=e.replace(/\\/g,`/`),n=t.lastIndexOf(`/`);return n<0?`.`:n===0?`/`:t.slice(0,n)}function ce(e,t){switch(e){case`path`:{let e=se(t);return e===`/`?`/**`:`${e}/**`}case`url`:try{let e=new URL(t);return`${e.protocol}//${e.host}/**`}catch{return t}case`command`:{let e=t.trim().split(/\s+/)[0];return e?`${e} *`:void 0}default:return}}function le(t,n){let r=(0,e.getToolPermissionProfile)(t).argument;if(r===void 0)return t;let i=n[r.key];if(typeof i!=`string`||i===``)return t;let a=ce(r.kind,i);return a===void 0?t:`${t}(${a})`}function x(e,t,n){return{success:!1,outcome:e,error:t,data:JSON.stringify(n??{success:!1,output:``,error:t}),metadata:{}}}function ue(e,t,n){let r=e instanceof Error?e.message:String(e);return t?.({type:`end`,toolName:n.toolName,toolArgs:n.toolArgs,success:!1,executionId:n.executionId}),x(`threw`,r)}const de=x(`denied`,`Permission denied. The user did not approve this action.`),fe=(0,e.createLogger)(`ToolHookHelpers`);function pe(t){if((0,e.wasToolResultAdmitted)(t)||typeof t.data!=`string`||t.data.length<=3e4)return t;let n=15e3,r=t.data.substring(0,n),i=t.data.substring(t.data.length-n),a=`${r}\n\n[... output truncated: ${t.data.length.toLocaleString()} chars total, showing first and last ${n.toLocaleString()} chars ...]\n\n${i}`;return{...t,data:a}}function me(e,t,n,r,i,a){return{session_id:e,cwd:t,hook_event_name:`PreToolUse`,tool_name:n,tool_input:r,...i!==void 0&&{permission_mode:i},...a!==void 0&&{transcript_path:a}}}async function he(t,n,r,i){let a=await(0,e.runHooks)(t,`PreToolUse`,n,r,i);if(a.blocked){let e=a.reason??`Blocked by hook`;return x(`hook-blocked`,e,{blocked:!0,reason:e})}if((0,e.isEnforcing)(`PreToolUse`)){let e=a.errors,t=e?.[0],n=a.unknownHookTypes??[],r=n.length>0?`Hook type(s) with no registered executor: ${n.join(`, `)}. Nothing evaluated this gate, so the tool call is denied rather than silently allowed. Remove the hook from the PreToolUse configuration, or supply an executor for its type.`:``;if(e!==void 0&&t!==void 0){let n=e.length-1,i=`Hook could not evaluate (${t.kind}, source: ${t.source}): ${t.reason}.`+(n>0?` (+${n} more hook failure(s))`:``)+(r===``?``:` Also unevaluated — ${r}`);return x(`hook-blocked`,i,{blocked:!0,reason:i})}if(r!==``)return x(`hook-blocked`,r,{blocked:!0,reason:r})}return null}function ge(t,n,r,i,a){(0,e.runHooks)(t,`PostToolUse`,{...n,hook_event_name:`PostToolUse`,tool_output:typeof r.data==`string`?r.data:JSON.stringify(r.data)},i,a).catch(e=>fe.warn(`hook failed`,{error:e}))}function _e(t,n){let r=(0,e.getToolPermissionProfile)(t).argument?.key;if(r===void 0)return;let i=n[r];if(typeof i==`string`)return i.length>200?`${i.slice(0,200)}…`:i}var ve=class{capacity;now;entries=[];calls=[];constructor(e=20,t=Date.now){this.capacity=e,this.now=t}record(e,t,n,r){let i=_e(e,t);this.entries.unshift({toolName:e,...i===void 0?{}:{argument:i},reason:n,...r===void 0?{}:{detail:r},at:this.now()}),this.calls.unshift({toolName:e,toolArgs:t}),this.calls.length>this.capacity&&(this.calls.length=this.capacity),this.entries.length>this.capacity&&(this.entries.length=this.capacity)}list(){return[...this.entries]}callAt(e){return this.calls[e]}};function ye(n,r,i){let a=(0,e.getToolPermissionProfile)(n).argument;if(a===void 0||a.kind!==`path`)return r;let o=r[a.key];return typeof o!=`string`||o===``||(0,t.isAbsolute)(o)?r:{...r,[a.key]:(0,t.resolve)(i,o)}}const be=(0,e.createLogger)(`ToolBodyTrace`);function xe(t,n){try{t?.eventService?.emit(e.TOOL_PERMISSION_EVENTS.DECIDED,{timestamp:new Date,executionId:t.executionId,decidedAt:new Date().toISOString(),decision:n})}catch(e){be.warn(`tool permission observation failed`,e instanceof Error?e:Error(String(e)))}}function Se(t,n){let r=t.execute.bind(t),i=Object.create(t);return i.execute=async(i,a)=>{let o=i,s=`(unknown)`;try{s=t.getName(),o=ye(s,i,n.cwd),n.log(`tool_call`,{tool:s,args:o});let c=me(n.sessionId,n.cwd,s,o,n.getPermissionMode(),n.transcriptPath),l=await he(n.config.hooks,c,n.hookTypeExecutors,a?.hookTraceEnv);if(l)return n.log(`tool_blocked`,{tool:s,reason:`hook`}),xe(a,`hook-blocked`),l;let u=await n.checkPermission(s,o,a?.signal,a?.permissionInteraction,a?.hookTraceEnv);if(u!==!0)return n.log(`tool_denied`,{tool:s,reason:`permission`}),xe(a,`denied`),n.onToolExecution?.({type:`end`,toolName:s,toolArgs:o,success:!1,denied:!0,executionId:a?.executionId}),typeof u==`object`?x(`denied`,u.message):de;xe(a,`allowed`),a?.signal?.throwIfAborted(),n.onToolExecution?.({type:`start`,toolName:s,toolArgs:o,executionId:a?.executionId});let d=Date.now(),f=`failure`,p;try{p=await r(o,a),f=a?.signal?.aborted?`interrupted`:p.success?`success`:`failure`}catch(t){throw f=a?.signal?.aborted||(0,e.isAbortFailure)(t)?`interrupted`:`failure`,t}finally{try{a?.eventService?.emit(e.TOOL_BODY_EVENTS.COMPLETED,{timestamp:new Date,executionId:a.executionId,startedAt:new Date(d).toISOString(),endedAt:new Date(Math.max(Date.now(),d)).toISOString(),outcome:f,...typeof a.toolBodyId==`string`?{toolBodyId:a.toolBodyId}:{}})}catch(e){be.warn(`tool body observation failed`,e instanceof Error?e:Error(String(e)))}}let m=pe(p);m!==p&&typeof p.data==`string`&&n.terminal.writeLine(` ⚠ Output truncated: ${p.data.length.toLocaleString()} chars total — model sees first and last 15,000 chars`),n.onToolExecution?.({type:`end`,toolName:s,toolArgs:o,success:m.success,toolResultData:typeof m.data==`string`?m.data:JSON.stringify(m.data),executionId:a?.executionId});let h=typeof m.data==`string`?m.data.length:JSON.stringify(m.data)?.length??0;return n.log(`tool_result`,{tool:s,success:m.success,dataChars:h,truncated:m!==p}),ge(n.config.hooks,c,m,n.hookTypeExecutors,a?.hookTraceEnv),m}catch(e){return ue(e,n.onToolExecution,{toolName:s,toolArgs:o,executionId:a?.executionId})}},i.setEventService=e=>{t.setEventService(e)},i}function Ce(e){let n=e,r=[];for(;;)try{let e=(0,i.realpathSync)(n);return r.length===0?e:(0,t.resolve)(e,...r.reverse())}catch{let i=(0,t.dirname)(n);if(i===n)return e;r.push(n.slice(i.length).replace(/^[\\/]/,``)),n=i}}function we(e,n){let r=(0,t.relative)(e,n);return r===``||!r.startsWith(`..`)&&!(0,t.isAbsolute)(r)}function Te(e){return(n,r)=>{let i=Ce(e),a=Ce((0,t.resolve)(n??i,r));return we(i,a)?a:void 0}}function Ee(t){let n=[...(0,e.findInvalidPermissionPatterns)(t.allow,`allow`),...(0,e.findInvalidPermissionPatterns)(t.restrictive,`deny`)];if(n.length===0)return;let r=n.map(({pattern:e,reason:t})=>`"${e}" ${t}`).join(`; `);throw Error(`Invalid permission pattern(s) in permissions.allow/deny/ask: ${r}. Fix the pattern where it is configured (issue #2428).`)}var De=class{sessionId;cwd;getPermissionMode;config;terminal;permissionHandler;promptForApprovalFn;sessionLogger;onToolExecution;hookTypeExecutors;transcriptPath;sessionAllowedTools=new Set;presetFreeRules;onProjectAllowTool;permissionPolicy;taskPermissions;homeDirectory;resolveInWorkspace;commandSandbox;denials=new ve;peerTurn=!1;autoMode;constructor(e){this.sessionId=e.sessionId,this.cwd=e.cwd,this.getPermissionMode=e.getPermissionMode,this.config=e.config,this.presetFreeRules=e.presetFreePermissions??{allow:[...e.config.permissions.allow],deny:[...e.config.permissions.deny]},Ee(this.configuredRules(e)),this.terminal=e.terminal,this.permissionHandler=e.permissionHandler,this.promptForApprovalFn=e.promptForApprovalFn,this.sessionLogger=e.sessionLogger,this.onToolExecution=e.onToolExecution,this.hookTypeExecutors=e.hookTypeExecutors,this.transcriptPath=e.transcriptPath,this.onProjectAllowTool=e.onProjectAllowTool,this.permissionPolicy=e.permissionPolicy,this.taskPermissions=e.taskPermissions,this.homeDirectory=e.homeDirectory??(0,r.homedir)(),this.resolveInWorkspace=Te(e.cwd),this.commandSandbox=e.commandSandbox,e.permissionClassifier!==void 0&&(this.autoMode=new oe(e.permissionClassifier))}beginTurn(e){this.peerTurn=e}endTurn(){this.peerTurn=!1}hasPermissionClassifier(){return this.autoMode!==void 0}allowRetryOfDenial(e){let t=this.denials.list()[e],n=this.denials.callAt(e);if(t?.reason===`classifier`&&n!==void 0&&this.autoMode!==void 0)return this.autoMode.grantRetry(n.toolName,n.toolArgs),t}configuredRules(e={config:this.config,...this.taskPermissions===void 0?{}:{taskPermissions:this.taskPermissions}}){return{allow:[...e.config.permissions.allow,...e.taskPermissions?.allow??[]],restrictive:[...e.config.permissions.deny,...e.config.permissions.ask??[],...e.taskPermissions?.deny??[]]}}isToolVisible(t){let n=(0,e.getToolPermissionProfile)(t);return!this.peerTurn&&n.repliesToPeer===!0||this.peerTurn&&n.notInPeerTurn===!0?!1:!(0,e.isToolDeniedOutright)(t,[...this.config.permissions.deny,...this.taskPermissions?.deny??[]])}registerToolParameters(t){for(let n of t){let t=n.schema;if(t===void 0)continue;let r=t.parameters?.properties??{};(0,e.registerToolPermissionProfile)(t.name,{parameters:Object.keys(r)})}let n=this.configuredRules();Ee(n);for(let{pattern:t,reason:r}of(0,e.findPermissionPatternWarnings)(n.restrictive))this.terminal.writeLine(` ⚠ Permission rule "${t}" ${r}.`)}wrapTools(e){this.registerToolParameters(e);let t={sessionId:this.sessionId,cwd:this.cwd,config:this.config,terminal:this.terminal,transcriptPath:this.transcriptPath,onToolExecution:this.onToolExecution,hookTypeExecutors:this.hookTypeExecutors,getPermissionMode:this.getPermissionMode,log:(e,t)=>this.log(e,t),checkPermission:(e,t,n,r,i)=>this.decidePermission(e,t,n,r,i)};return e.map(e=>Se(e,t))}getSessionAllowedTools(){return[...this.sessionAllowedTools]}getRecentDenials(){return this.denials.list()}clearSessionAllowedTools(){this.sessionAllowedTools.clear()}currentPermissionRules(){return{allow:[...this.config.permissions.allow],deny:[...this.config.permissions.deny],ask:[...this.config.permissions.ask??[]]}}applyPresetToolLists(t){let n=(0,e.applyPresetToolLists)(this.presetFreeRules,t);this.config.permissions.allow=n.allow,this.config.permissions.deny=n.deny}async checkPermission(e,t,n,r=`interactive`,i){return await this.decidePermission(e,t,n,r,i)===!0}async checkDelegatedToolCall(e,t,n){let r=me(this.sessionId,this.cwd,e,t,this.getPermissionMode(),this.transcriptPath);return await he(this.config.hooks,r,this.hookTypeExecutors)?(this.log(`tool_blocked`,{tool:e,reason:`hook`,delegated:!0}),!1):await this.decidePermission(e,t,n,`interactive`,void 0,{sandboxed:!1})===!0}async decidePermission(t,n,r,i=`interactive`,a,o={}){let s=this.permissionPolicy===void 0?void 0:(0,e.projectPermissionPolicy)(this.permissionPolicy,{taskAllow:this.taskPermissions?.allow,taskDeny:this.taskPermissions?.deny,parentAllow:this.config.permissions.allow}),c=this.getPermissionMode(),l=[...this.config.permissions.allow,...s?.allow??[]],u={allow:c===`auto`?(0,e.allowRulesForAutoMode)(l):l,deny:[...this.config.permissions.deny,...s?.deny??[]],ask:this.config.permissions.ask??[]},d={cwd:this.cwd,homeDirectory:this.homeDirectory},f=(0,e.evaluatePermission)(t,n,c,u,{...d,resolveInWorkspace:this.resolveInWorkspace,sandboxAutoApproved:o.sandboxed!==!1&&this.sandboxAutoApproves(t,n),...s?.ceiling===void 0?{}:{ceiling:s.ceiling},askAll:s?.askAll??!1,...this.peerTurn?{peerTurn:!0}:{}});if(this.firePermissionDecisionHook(t,n,f,a),f===`auto`)return!0;if(f===`deny`)return this.denials.record(t,n,`policy`),!1;let p=(0,e.requiresFreshApproval)(t,n,u,d);return c===`auto`&&this.autoMode!==void 0&&!p&&s?.askAll!==!0?this.decideInAutoMode(this.autoMode,t,n,r,i,a,o):this.promptForApproval(t,n,r,i,p)}async decideInAutoMode(t,n,r,i,a,o,s){if(t.takeRetry(n,r)||(0,e.matchesAnyPattern)(n,r,(0,e.allowRulesForAutoMode)([...this.sessionAllowedTools])))return!0;if(t.isPaused()){let e=await this.promptForApproval(n,r,i,a,!0);return e&&t.resume(),e}let c=await t.judge({toolName:n,toolArgs:r,cwd:this.cwd},i);return i?.aborted===!0?!1:this.getPermissionMode()===`auto`?c.kind===`allow`?!0:(this.denials.record(n,r,`classifier`,c.reason),{message:c.message}):this.decidePermission(n,r,i,a,o,s)}async promptForApproval(t,n,r,i=`interactive`,a=!1){let o=le(t,n),s=r?.aborted===!0,c=i===`interactive`&&(this.permissionHandler!==void 0||this.promptForApprovalFn!==void 0),l=await ie({toolName:t,alreadyAllowed:!a&&(0,e.matchesAnyPattern)(t,n,[...this.sessionAllowedTools]),...i===`interactive`&&this.permissionHandler?{handler:this.permissionHandler}:{},...i===`interactive`&&this.promptForApprovalFn?{injectedPrompt:this.promptForApprovalFn,terminal:this.terminal}:{},toolArgs:n,...r?{signal:r}:{}});if(!l.allowed&&!s&&this.denials.record(t,n,c?`user`:`no-approver`),a)return l.allowed;if(l.rememberForProject){if(this.onProjectAllowTool===void 0)throw Error(`Project-wide permission persistence is unavailable for this session.`);this.onProjectAllowTool(o)}return l.rememberForSession&&this.sessionAllowedTools.add(o),l.allowed}firePermissionDecisionHook(t,n,r,i){let a=this.getPermissionMode();(0,e.runHooks)(this.config.hooks,`PermissionDecision`,{session_id:this.sessionId,cwd:this.cwd,hook_event_name:`PermissionDecision`,tool_name:t,tool_input:n,permission_decision:r,...a!==void 0&&{permission_mode:a},...this.transcriptPath!==void 0&&{transcript_path:this.transcriptPath},env:{CLAUDE_PROJECT_DIR:this.cwd,CLAUDE_SESSION_ID:this.sessionId}},this.hookTypeExecutors,i).catch(()=>void 0)}sandboxAutoApproves(t,n){if(this.commandSandbox===void 0)return!1;let r=(0,e.getToolPermissionProfile)(t).argument;if(r?.kind!==`command`)return!1;let i=n[r.key];return typeof i==`string`&&this.commandSandbox.autoApproves(t,i)}log(e,t){this.sessionLogger?.log(this.sessionId,e,t)}};function Oe(e,t,n,r,i){return new De({sessionId:t,cwd:n,getPermissionMode:r,config:{permissions:e.permissions??{allow:[],deny:[]},hooks:e.hooks},...e.presetFreePermissions===void 0?{}:{presetFreePermissions:e.presetFreePermissions},terminal:e.terminal,permissionHandler:e.permissionHandler,...e.commandSandbox===void 0?{}:{commandSandbox:e.commandSandbox},...e.permissionClassifier===void 0?{}:{permissionClassifier:e.permissionClassifier},promptForApprovalFn:e.promptForApproval,sessionLogger:e.sessionLogger,onToolExecution:e.onToolExecution,hookTypeExecutors:e.hookTypeExecutors,transcriptPath:i,onProjectAllowTool:e.onProjectAllowTool,permissionPolicy:e.permissionPolicy,taskPermissions:e.taskPermissions})}function ke(e,t,n,r){return{contextTracker:new b(t,e.contextMaxTokens,e.autoCompactThreshold),compactionOrchestrator:new ee({sessionId:n,cwd:r,model:t,hooks:e.hooks,compactInstructions:e.compactInstructions,basePrompt:e.compactionBasePrompt,hookTypeExecutors:e.hookTypeExecutors})}}function Ae(t,n,r,i,a,o,s){let c=n.wrapTools(r);return new e.Robota({name:t.agentName??`agent`,aiProviders:[i],defaultModel:{provider:i.name,model:a,...t.effort!==void 0&&{effort:t.effort},...t.temperature!==void 0&&{temperature:t.temperature},...t.maxOutputTokens!==void 0&&{maxTokens:t.maxOutputTokens}},systemMessage:o,tools:c,isToolVisible:e=>n.isToolVisible(e),logging:{enabled:!1},eventService:s,...t.providerTimeout!==void 0&&{timeout:t.providerTimeout},...t.responseFormat?{responseFormat:t.responseFormat}:{},...t.ask?{ask:t.ask}:{},...t.contextCapacityHint===void 0?{}:{contextCapacityHint:t.contextCapacityHint}})}const je=(0,e.createLogger)(`SessionHistoryOps`);function Me(e,t){return{...e,...t}}async function Ne(t,n,r){r?.throwIfAborted();let i=n.agent.getHistory(),a=i.filter(e=>e.role!==`system`);if(a.length===0)return;n.contextTracker.updateFromHistory(i);let o=n.contextTracker.getContextState(),s=await n.compactionOrchestrator.compact(n.aiProvider,a,t,r,n.trigger,n.hookTraceEnv);n.agent.clearHistory(),n.agent.injectMessage(`system`,n.systemMessage),n.agent.injectMessage(`assistant`,`[Context Summary]\n${s}`),n.contextTracker.updateFromHistory(n.agent.getHistory());let c={session_id:n.sessionId,cwd:n.cwd,hook_event_name:`PostCompact`,trigger:n.trigger,compact_summary:s};(0,e.runHooks)(n.hooks,`PostCompact`,c,n.hookTypeExecutors,n.hookTraceEnv).catch(e=>je.warn(`hook failed`,{error:e}));let l=n.contextTracker.getContextState();n.log(`context_compact`,{trigger:n.trigger,before:o,after:l}),n.onCompactEventCallback?.({trigger:n.trigger,before:o,after:l}),n.onCompactCallback&&n.onCompactCallback(s)}function Pe(e){let t=e.agent.getHistory(),n=new Date().toISOString(),r=e.sessionStore.load(e.sessionId);if(r.status!==`valid`&&r.status!==`missing`)return r;let i=r.status===`valid`?r.record:void 0,a={...i,id:e.sessionId,name:i?.name,cwd:e.cwd,createdAt:i?.createdAt??n,updatedAt:n,messages:t,history:e.getFullHistory(),systemPrompt:e.systemPrompt,toolSchemas:e.toolSchemas};return e.sessionStore.save(a),{status:`valid`,record:a}}const Fe=/^[A-Za-z0-9][A-Za-z0-9._-]*$/;function Ie(){return`session_${(0,n.randomUUID)()}`}function Le(e){return e.length>0&&e.length<=128&&Fe.test(e)}function S(e){if(!Le(e))throw Error(`Invalid session id: ${JSON.stringify(e)}. A session id must be 1-128 characters of letters, digits, dot, underscore or hyphen, starting with a letter or digit.`)}const Re=(0,e.createLogger)(`SessionLifecycle`);function ze(e,t,n){e.configureNativeWebTools?.({webSearch:!0}),`onServerToolUse`in e&&(e.onServerToolUse=(e,t)=>{n(`server_tool`,{tool:e,...t})})}function Be(t,n,r,i,a,o,s){(0,e.runHooks)(r,`SessionStart`,{session_id:t,cwd:n,hook_event_name:`SessionStart`,...o!==void 0&&{permission_mode:o},...s!==void 0&&{transcript_path:s},env:{CLAUDE_PROJECT_DIR:n,CLAUDE_SESSION_ID:t}},i).then(e=>{e.stdout&&a(e.stdout)}).catch(e=>Re.warn(`SessionStart hook failed`,{error:e}))}async function Ve(t,n,r,i,a,o,s){await(0,e.runHooks)(i,`SessionEnd`,{session_id:t,cwd:n,hook_event_name:`SessionEnd`,reason:r,...o!==void 0&&{permission_mode:o},...s!==void 0&&{transcript_path:s},env:{CLAUDE_PROJECT_DIR:n,CLAUDE_SESSION_ID:t}},a)}function He(e){return{...e?.ephemeralSystemContext!==void 0&&{ephemeralSystemContext:e.ephemeralSystemContext},...e?.driverId!==void 0&&{driverId:e.driverId},...e?.toolChoice!==void 0&&{toolChoice:e.toolChoice},...e?.traceContext!==void 0&&{traceContext:e.traceContext},...e?.peerTurn===!0&&{withholdHostedTools:!0}}}const Ue=`unknown_tool`;function We(e){return{knownToolNames:new Set(e.knownToolNames),unknownToolCallIds:new Set,...e.onToolExecution&&{onToolExecution:e.onToolExecution}}}function Ge(e,t,n){if(e.onToolExecution){if(t===`tool_execution_request`){Ke(e,n);return}t===`tool_execution_result`&&qe(e,n)}}function Ke(e,t){let n=C(t.toolName),r=C(t.toolCallId);!n||!r||e.knownToolNames.has(n)||(e.unknownToolCallIds.add(r),e.onToolExecution?.({type:`start`,toolName:n,toolArgs:Je(t.parameters)}))}function qe(e,t){let n=C(t.toolName),r=C(t.toolCallId);if(!n||!r)return;let i=Ye(t.metadata);if(!(e.unknownToolCallIds.has(r)||i?.errorCode===Ue))return;e.unknownToolCallIds.delete(r);let a=C(t.error)??`Tool "${n}" is not registered.`;e.onToolExecution?.({type:`end`,toolName:n,success:!1,toolResultData:JSON.stringify({success:!1,error:a,errorCode:Ue,requestedTool:C(i?.requestedTool)??n,availableTools:Xe(i?.availableTools)})})}function Je(e){let t=Ye(e);if(!t)return;let n={};for(let[e,r]of Object.entries(t))(typeof r==`string`||typeof r==`number`||typeof r==`boolean`||typeof r==`object`&&r)&&(n[e]=r);return n}function C(e){return typeof e==`string`&&e.length>0?e:void 0}function Ye(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:void 0}function Xe(e){return Array.isArray(e)?e.filter(e=>typeof e==`string`):[]}const Ze=(0,e.createLogger)(`SessionRun`);function Qe(t,n,r,i){let a=typeof r.model==`string`?r.model:t.model,o=typeof r.provider==`string`?r.provider:t.aiProvider.name,s=r.effort,c=typeof s==`string`&&(0,e.isModelEffort)(s)?s:t.effort??(typeof t.agent.getModel==`function`?t.agent.getModel().effort:void 0)??`high`,l=typeof r.round==`number`?r.round:void 0;(0,e.runHooks)(t.hooks,n,{session_id:t.sessionId,cwd:t.cwd,hook_event_name:n,model:a,provider:o,effort:c,...l!==void 0&&{round:l},...t.permissionMode!==void 0&&{permission_mode:t.permissionMode},...t.transcriptPath!==void 0&&{transcript_path:t.transcriptPath},env:{CLAUDE_PROJECT_DIR:t.cwd,CLAUDE_SESSION_ID:t.sessionId}},t.hookTypeExecutors,i).catch(e=>Ze.warn(`hook failed`,{error:e}))}async function $e(t,n,r,i,a){let o=a?.traceContext,s=o?(0,e.traceEnvFor)(`hooks`,o,o.parentSpanId):void 0;if(r.contextTracker.updateFromHistory(r.agent.getHistory()),r.contextTracker.shouldAutoCompact()){let e=r.aiProvider,t=e.onTextDelta;e.onTextDelta=void 0;try{await(s?r.compact(i,s):r.compact(i))}finally{e.onTextDelta=t}}r.log(`user`,{content:t});let c=await(0,e.runHooks)(r.hooks,`UserPromptSubmit`,{session_id:r.sessionId,cwd:r.cwd,hook_event_name:`UserPromptSubmit`,user_message:n??t,prompt:n??t,...r.permissionMode!==void 0&&{permission_mode:r.permissionMode},...r.transcriptPath!==void 0&&{transcript_path:r.transcriptPath},env:{CLAUDE_PROJECT_DIR:r.cwd,CLAUDE_SESSION_ID:r.sessionId}},r.hookTypeExecutors,s),l=[r.sessionStartStdout,c.stdout].filter(Boolean).join(`
|
|
5
|
+
`)}};const y=.835;var b=class{contextUsedTokens=0;contextMaxTokens;autoCompactThreshold;constructor(t,n,r){this.contextMaxTokens=n??(0,e.getModelContextWindow)(t),this.autoCompactThreshold=te(r)}getContextState(){let e=Math.min(100,this.contextUsedTokens/this.contextMaxTokens*100);return{maxTokens:this.contextMaxTokens,usedTokens:this.contextUsedTokens,usedPercentage:Math.round(e*100)/100,remainingPercentage:Math.round((100-e)*100)/100}}shouldAutoCompact(){return this.autoCompactThreshold!==!1&&this.getContextState().usedPercentage>=this.autoCompactThreshold*100}getAutoCompactThreshold(){return this.autoCompactThreshold}setAutoCompactThreshold(e){this.autoCompactThreshold=te(e)}updateFromHistory(t){this.contextUsedTokens=(0,e.estimateContextTokensFromMessages)(t).usedTokens}reset(){this.contextUsedTokens=0}};function te(e){if(e===void 0)return y;if(e===!1)return!1;if(!Number.isFinite(e)||e<=0||e>1)throw RangeError(`autoCompactThreshold must be a number greater than 0 and at most 1.`);return e}async function ne(e,t){if(t===void 0)return e;if(t.aborted)return!1;let n;try{return await Promise.race([e,new Promise(e=>{n=()=>e(!1),t.addEventListener(`abort`,n,{once:!0})})])}finally{n!==void 0&&t.removeEventListener(`abort`,n)}}function re(e){return e===`allow-session`?{allowed:!0,rememberForSession:!0,rememberForProject:!1}:e===`allow-project`?{allowed:!0,rememberForSession:!0,rememberForProject:!0}:{allowed:e===!0,rememberForSession:!1,rememberForProject:!1}}async function ie(e){let t={allowed:!1,rememberForSession:!1,rememberForProject:!1};if(e.alreadyAllowed)return{allowed:!0,rememberForSession:!1,rememberForProject:!1};if(e.signal?.aborted===!0)return t;let n=e.handler?()=>e.handler(e.toolName,e.toolArgs):e.injectedPrompt&&e.terminal?()=>e.injectedPrompt(e.terminal,e.toolName,e.toolArgs):void 0;return n===void 0?t:re(await ne(n(),e.signal))}function ae(e,t){return`${e}\u0000${JSON.stringify(t)}`}var oe=class{classifier;consecutive=0;total=0;paused=!1;retries=new Set;constructor(e){this.classifier=e}isPaused(){return this.paused}resume(){this.paused=!1,this.consecutive=0}grantRetry(e,t){this.retries.add(ae(e,t))}takeRetry(e,t){return this.retries.delete(ae(e,t))}async judge(e,t){let n;try{n=await this.classifier.classify(e,t)}catch{n=void 0}if(n===void 0){t?.aborted!==!0&&(this.consecutive+=1);let e=this.consecutive>=3;return e&&(this.paused=!0),{kind:`unusable`,reason:`no usable verdict`,message:`The auto-mode classifier gave no usable verdict, so the call was not run. Try again, or ask the user to approve it.`+(e?` Auto mode is paused: the next calls ask the user.`:``)}}if(n.decision===`allow`)return this.consecutive=0,{kind:`allow`};this.consecutive+=1,this.total+=1;let r=this.consecutive>=3||this.total>=20;return this.total>=20&&(this.total=0),r&&(this.paused=!0),{kind:`block`,reason:n.reason,message:`Blocked by the auto-mode classifier: ${n.reason}. Do not retry the same action; take another approach or ask the user.`+(r?` Auto mode is paused after repeated blocks: the next calls ask the user.`:``)}}};function se(e){let t=e.replace(/\\/g,`/`),n=t.lastIndexOf(`/`);return n<0?`.`:n===0?`/`:t.slice(0,n)}function ce(e,t){switch(e){case`path`:{let e=se(t);return e===`/`?`/**`:`${e}/**`}case`url`:try{let e=new URL(t);return`${e.protocol}//${e.host}/**`}catch{return t}case`command`:{let e=t.trim().split(/\s+/)[0];return e?`${e} *`:void 0}default:return}}function le(t,n){let r=(0,e.getToolPermissionProfile)(t).argument;if(r===void 0)return t;let i=n[r.key];if(typeof i!=`string`||i===``)return t;let a=ce(r.kind,i);return a===void 0?t:`${t}(${a})`}function x(e,t,n){return{success:!1,outcome:e,error:t,data:JSON.stringify(n??{success:!1,output:``,error:t}),metadata:{}}}function ue(e,t,n){let r=e instanceof Error?e.message:String(e);return t?.({type:`end`,toolName:n.toolName,toolArgs:n.toolArgs,success:!1,executionId:n.executionId}),x(`threw`,r)}const de=x(`denied`,`Permission denied. The user did not approve this action.`),fe=(0,e.createLogger)(`ToolHookHelpers`);function pe(t){if((0,e.wasToolResultAdmitted)(t)||typeof t.data!=`string`||t.data.length<=3e4)return t;let n=15e3,r=t.data.substring(0,n),i=t.data.substring(t.data.length-n),a=`${r}\n\n[... output truncated: ${t.data.length.toLocaleString()} chars total, showing first and last ${n.toLocaleString()} chars ...]\n\n${i}`;return{...t,data:a}}function me(e,t,n,r,i,a){return{session_id:e,cwd:t,hook_event_name:`PreToolUse`,tool_name:n,tool_input:r,...i!==void 0&&{permission_mode:i},...a!==void 0&&{transcript_path:a}}}async function he(t,n,r,i){let a=await(0,e.runHooks)(t,`PreToolUse`,n,r,i);if(a.blocked){let e=a.reason??`Blocked by hook`;return x(`hook-blocked`,e,{blocked:!0,reason:e})}if((0,e.isEnforcing)(`PreToolUse`)){let e=a.errors,t=e?.[0],n=a.unknownHookTypes??[],r=n.length>0?`Hook type(s) with no registered executor: ${n.join(`, `)}. Nothing evaluated this gate, so the tool call is denied rather than silently allowed. Remove the hook from the PreToolUse configuration, or supply an executor for its type.`:``;if(e!==void 0&&t!==void 0){let n=e.length-1,i=`Hook could not evaluate (${t.kind}, source: ${t.source}): ${t.reason}.`+(n>0?` (+${n} more hook failure(s))`:``)+(r===``?``:` Also unevaluated — ${r}`);return x(`hook-blocked`,i,{blocked:!0,reason:i})}if(r!==``)return x(`hook-blocked`,r,{blocked:!0,reason:r})}return null}function ge(t,n,r,i,a){(0,e.runHooks)(t,`PostToolUse`,{...n,hook_event_name:`PostToolUse`,tool_output:typeof r.data==`string`?r.data:JSON.stringify(r.data)},i,a).catch(e=>fe.warn(`hook failed`,{error:e}))}function _e(t,n){let r=(0,e.getToolPermissionProfile)(t).argument?.key;if(r===void 0)return;let i=n[r];if(typeof i==`string`)return i.length>200?`${i.slice(0,200)}…`:i}var ve=class{capacity;now;entries=[];calls=[];constructor(e=20,t=Date.now){this.capacity=e,this.now=t}record(e,t,n,r){let i=_e(e,t);this.entries.unshift({toolName:e,...i===void 0?{}:{argument:i},reason:n,...r===void 0?{}:{detail:r},at:this.now()}),this.calls.unshift({toolName:e,toolArgs:t}),this.calls.length>this.capacity&&(this.calls.length=this.capacity),this.entries.length>this.capacity&&(this.entries.length=this.capacity)}list(){return[...this.entries]}callAt(e){return this.calls[e]}};function ye(n,r,i){let a=(0,e.getToolPermissionProfile)(n).argument;if(a===void 0||a.kind!==`path`)return r;let o=r[a.key];return typeof o!=`string`||o===``||(0,t.isAbsolute)(o)?r:{...r,[a.key]:(0,t.resolve)(i,o)}}const be=(0,e.createLogger)(`ToolBodyTrace`);function xe(t,n){try{t?.eventService?.emit(e.TOOL_PERMISSION_EVENTS.DECIDED,{timestamp:new Date,executionId:t.executionId,decidedAt:new Date().toISOString(),decision:n})}catch(e){be.warn(`tool permission observation failed`,e instanceof Error?e:Error(String(e)))}}function Se(t,n){let r=t.execute.bind(t),i=e.DEFAULT_ABSTRACT_EVENT_SERVICE,a=Object.create(t);return a.execute=async(a,o)=>{let s=a,c=`(unknown)`;try{c=t.getName(),s=ye(c,a,n.cwd),n.log(`tool_call`,{tool:c,args:s});let l=me(n.sessionId,n.cwd,c,s,n.getPermissionMode(),n.transcriptPath),u=await he(n.config.hooks,l,n.hookTypeExecutors,o?.hookTraceEnv);if(u)return n.log(`tool_blocked`,{tool:c,reason:`hook`}),xe(o,`hook-blocked`),u;let d=await n.checkPermission(c,s,o?.signal,o?.permissionInteraction,o?.hookTraceEnv);if(d!==!0)return n.log(`tool_denied`,{tool:c,reason:`permission`}),xe(o,`denied`),n.onToolExecution?.({type:`end`,toolName:c,toolArgs:s,success:!1,denied:!0,executionId:o?.executionId}),typeof d==`object`?x(`denied`,d.message):de;xe(o,`allowed`),o?.signal?.throwIfAborted(),n.onToolExecution?.({type:`start`,toolName:c,toolArgs:s,executionId:o?.executionId});let f=Date.now(),p=`failure`,m;try{let e=o===void 0?void 0:{...o,instanceEventService:i};m=await r(s,e),p=o?.signal?.aborted?`interrupted`:m.success?`success`:`failure`}catch(t){throw p=o?.signal?.aborted||(0,e.isAbortFailure)(t)?`interrupted`:`failure`,t}finally{try{o?.eventService?.emit(e.TOOL_BODY_EVENTS.COMPLETED,{timestamp:new Date,executionId:o.executionId,startedAt:new Date(f).toISOString(),endedAt:new Date(Math.max(Date.now(),f)).toISOString(),outcome:p,...typeof o.toolBodyId==`string`?{toolBodyId:o.toolBodyId}:{}})}catch(e){be.warn(`tool body observation failed`,e instanceof Error?e:Error(String(e)))}}let h=pe(m);h!==m&&typeof m.data==`string`&&n.terminal.writeLine(` ⚠ Output truncated: ${m.data.length.toLocaleString()} chars total — model sees first and last 15,000 chars`),n.onToolExecution?.({type:`end`,toolName:c,toolArgs:s,success:h.success,toolResultData:typeof h.data==`string`?h.data:JSON.stringify(h.data),executionId:o?.executionId});let g=typeof h.data==`string`?h.data.length:JSON.stringify(h.data)?.length??0;return n.log(`tool_result`,{tool:c,success:h.success,dataChars:g,truncated:h!==m}),ge(n.config.hooks,l,h,n.hookTypeExecutors,o?.hookTraceEnv),h}catch(e){return ue(e,n.onToolExecution,{toolName:c,toolArgs:s,executionId:o?.executionId})}},a.setEventService=n=>{i=n??e.DEFAULT_ABSTRACT_EVENT_SERVICE,t.setEventService(n)},a}function Ce(e){let n=e,r=[];for(;;)try{let e=(0,i.realpathSync)(n);return r.length===0?e:(0,t.resolve)(e,...r.reverse())}catch{let i=(0,t.dirname)(n);if(i===n)return e;r.push(n.slice(i.length).replace(/^[\\/]/,``)),n=i}}function we(e,n){let r=(0,t.relative)(e,n);return r===``||!r.startsWith(`..`)&&!(0,t.isAbsolute)(r)}function Te(e){return(n,r)=>{let i=Ce(e),a=Ce((0,t.resolve)(n??i,r));return we(i,a)?a:void 0}}function Ee(t){let n=[...(0,e.findInvalidPermissionPatterns)(t.allow,`allow`),...(0,e.findInvalidPermissionPatterns)(t.restrictive,`deny`)];if(n.length===0)return;let r=n.map(({pattern:e,reason:t})=>`"${e}" ${t}`).join(`; `);throw Error(`Invalid permission pattern(s) in permissions.allow/deny/ask: ${r}. Fix the pattern where it is configured (issue #2428).`)}var De=class{sessionId;cwd;getPermissionMode;config;terminal;permissionHandler;promptForApprovalFn;sessionLogger;onToolExecution;hookTypeExecutors;transcriptPath;sessionAllowedTools=new Set;presetFreeRules;onProjectAllowTool;permissionPolicy;taskPermissions;homeDirectory;resolveInWorkspace;commandSandbox;denials=new ve;peerTurn=!1;autoMode;constructor(e){this.sessionId=e.sessionId,this.cwd=e.cwd,this.getPermissionMode=e.getPermissionMode,this.config=e.config,this.presetFreeRules=e.presetFreePermissions??{allow:[...e.config.permissions.allow],deny:[...e.config.permissions.deny]},Ee(this.configuredRules(e)),this.terminal=e.terminal,this.permissionHandler=e.permissionHandler,this.promptForApprovalFn=e.promptForApprovalFn,this.sessionLogger=e.sessionLogger,this.onToolExecution=e.onToolExecution,this.hookTypeExecutors=e.hookTypeExecutors,this.transcriptPath=e.transcriptPath,this.onProjectAllowTool=e.onProjectAllowTool,this.permissionPolicy=e.permissionPolicy,this.taskPermissions=e.taskPermissions,this.homeDirectory=e.homeDirectory??(0,r.homedir)(),this.resolveInWorkspace=Te(e.cwd),this.commandSandbox=e.commandSandbox,e.permissionClassifier!==void 0&&(this.autoMode=new oe(e.permissionClassifier))}beginTurn(e){this.peerTurn=e}endTurn(){this.peerTurn=!1}hasPermissionClassifier(){return this.autoMode!==void 0}allowRetryOfDenial(e){let t=this.denials.list()[e],n=this.denials.callAt(e);if(t?.reason===`classifier`&&n!==void 0&&this.autoMode!==void 0)return this.autoMode.grantRetry(n.toolName,n.toolArgs),t}configuredRules(e={config:this.config,...this.taskPermissions===void 0?{}:{taskPermissions:this.taskPermissions}}){return{allow:[...e.config.permissions.allow,...e.taskPermissions?.allow??[]],restrictive:[...e.config.permissions.deny,...e.config.permissions.ask??[],...e.taskPermissions?.deny??[]]}}isToolVisible(t){let n=(0,e.getToolPermissionProfile)(t);return!this.peerTurn&&n.repliesToPeer===!0||this.peerTurn&&n.notInPeerTurn===!0?!1:!(0,e.isToolDeniedOutright)(t,[...this.config.permissions.deny,...this.taskPermissions?.deny??[]])}registerToolParameters(t){for(let n of t){let t=n.schema;if(t===void 0)continue;let r=t.parameters?.properties??{};(0,e.registerToolPermissionProfile)(t.name,{parameters:Object.keys(r)})}let n=this.configuredRules();Ee(n);for(let{pattern:t,reason:r}of(0,e.findPermissionPatternWarnings)(n.restrictive))this.terminal.writeLine(` ⚠ Permission rule "${t}" ${r}.`)}wrapTools(e){this.registerToolParameters(e);let t={sessionId:this.sessionId,cwd:this.cwd,config:this.config,terminal:this.terminal,transcriptPath:this.transcriptPath,onToolExecution:this.onToolExecution,hookTypeExecutors:this.hookTypeExecutors,getPermissionMode:this.getPermissionMode,log:(e,t)=>this.log(e,t),checkPermission:(e,t,n,r,i)=>this.decidePermission(e,t,n,r,i)};return e.map(e=>Se(e,t))}getSessionAllowedTools(){return[...this.sessionAllowedTools]}getRecentDenials(){return this.denials.list()}clearSessionAllowedTools(){this.sessionAllowedTools.clear()}currentPermissionRules(){return{allow:[...this.config.permissions.allow],deny:[...this.config.permissions.deny],ask:[...this.config.permissions.ask??[]]}}applyPresetToolLists(t){let n=(0,e.applyPresetToolLists)(this.presetFreeRules,t);this.config.permissions.allow=n.allow,this.config.permissions.deny=n.deny}async checkPermission(e,t,n,r=`interactive`,i){return await this.decidePermission(e,t,n,r,i)===!0}async checkDelegatedToolCall(e,t,n){let r=me(this.sessionId,this.cwd,e,t,this.getPermissionMode(),this.transcriptPath);return await he(this.config.hooks,r,this.hookTypeExecutors)?(this.log(`tool_blocked`,{tool:e,reason:`hook`,delegated:!0}),!1):await this.decidePermission(e,t,n,`interactive`,void 0,{sandboxed:!1})===!0}async decidePermission(t,n,r,i=`interactive`,a,o={}){let s=this.permissionPolicy===void 0?void 0:(0,e.projectPermissionPolicy)(this.permissionPolicy,{taskAllow:this.taskPermissions?.allow,taskDeny:this.taskPermissions?.deny,parentAllow:this.config.permissions.allow}),c=this.getPermissionMode(),l=[...this.config.permissions.allow,...s?.allow??[]],u={allow:c===`auto`?(0,e.allowRulesForAutoMode)(l):l,deny:[...this.config.permissions.deny,...s?.deny??[]],ask:this.config.permissions.ask??[]},d={cwd:this.cwd,homeDirectory:this.homeDirectory},f=(0,e.evaluatePermission)(t,n,c,u,{...d,resolveInWorkspace:this.resolveInWorkspace,sandboxAutoApproved:o.sandboxed!==!1&&this.sandboxAutoApproves(t,n),...s?.ceiling===void 0?{}:{ceiling:s.ceiling},askAll:s?.askAll??!1,...this.peerTurn?{peerTurn:!0}:{}});if(this.firePermissionDecisionHook(t,n,f,a),f===`auto`)return!0;if(f===`deny`)return this.denials.record(t,n,`policy`),!1;let p=(0,e.requiresFreshApproval)(t,n,u,d);return c===`auto`&&this.autoMode!==void 0&&!p&&s?.askAll!==!0?this.decideInAutoMode(this.autoMode,t,n,r,i,a,o):this.promptForApproval(t,n,r,i,p)}async decideInAutoMode(t,n,r,i,a,o,s){if(t.takeRetry(n,r)||(0,e.matchesAnyPattern)(n,r,(0,e.allowRulesForAutoMode)([...this.sessionAllowedTools])))return!0;if(t.isPaused()){let e=await this.promptForApproval(n,r,i,a,!0);return e&&t.resume(),e}let c=await t.judge({toolName:n,toolArgs:r,cwd:this.cwd},i);return i?.aborted===!0?!1:this.getPermissionMode()===`auto`?c.kind===`allow`?!0:(this.denials.record(n,r,`classifier`,c.reason),{message:c.message}):this.decidePermission(n,r,i,a,o,s)}async promptForApproval(t,n,r,i=`interactive`,a=!1){let o=le(t,n),s=r?.aborted===!0,c=i===`interactive`&&(this.permissionHandler!==void 0||this.promptForApprovalFn!==void 0),l=await ie({toolName:t,alreadyAllowed:!a&&(0,e.matchesAnyPattern)(t,n,[...this.sessionAllowedTools]),...i===`interactive`&&this.permissionHandler?{handler:this.permissionHandler}:{},...i===`interactive`&&this.promptForApprovalFn?{injectedPrompt:this.promptForApprovalFn,terminal:this.terminal}:{},toolArgs:n,...r?{signal:r}:{}});if(!l.allowed&&!s&&this.denials.record(t,n,c?`user`:`no-approver`),a)return l.allowed;if(l.rememberForProject){if(this.onProjectAllowTool===void 0)throw Error(`Project-wide permission persistence is unavailable for this session.`);this.onProjectAllowTool(o)}return l.rememberForSession&&this.sessionAllowedTools.add(o),l.allowed}firePermissionDecisionHook(t,n,r,i){let a=this.getPermissionMode();(0,e.runHooks)(this.config.hooks,`PermissionDecision`,{session_id:this.sessionId,cwd:this.cwd,hook_event_name:`PermissionDecision`,tool_name:t,tool_input:n,permission_decision:r,...a!==void 0&&{permission_mode:a},...this.transcriptPath!==void 0&&{transcript_path:this.transcriptPath},env:{CLAUDE_PROJECT_DIR:this.cwd,CLAUDE_SESSION_ID:this.sessionId}},this.hookTypeExecutors,i).catch(()=>void 0)}sandboxAutoApproves(t,n){if(this.commandSandbox===void 0)return!1;let r=(0,e.getToolPermissionProfile)(t).argument;if(r?.kind!==`command`)return!1;let i=n[r.key];return typeof i==`string`&&this.commandSandbox.autoApproves(t,i)}log(e,t){this.sessionLogger?.log(this.sessionId,e,t)}};function Oe(e,t,n,r,i){return new De({sessionId:t,cwd:n,getPermissionMode:r,config:{permissions:e.permissions??{allow:[],deny:[]},hooks:e.hooks},...e.presetFreePermissions===void 0?{}:{presetFreePermissions:e.presetFreePermissions},terminal:e.terminal,permissionHandler:e.permissionHandler,...e.commandSandbox===void 0?{}:{commandSandbox:e.commandSandbox},...e.permissionClassifier===void 0?{}:{permissionClassifier:e.permissionClassifier},promptForApprovalFn:e.promptForApproval,sessionLogger:e.sessionLogger,onToolExecution:e.onToolExecution,hookTypeExecutors:e.hookTypeExecutors,transcriptPath:i,onProjectAllowTool:e.onProjectAllowTool,permissionPolicy:e.permissionPolicy,taskPermissions:e.taskPermissions})}function ke(e,t,n,r){return{contextTracker:new b(t,e.contextMaxTokens,e.autoCompactThreshold),compactionOrchestrator:new ee({sessionId:n,cwd:r,model:t,hooks:e.hooks,compactInstructions:e.compactInstructions,basePrompt:e.compactionBasePrompt,hookTypeExecutors:e.hookTypeExecutors})}}function Ae(t,n,r,i,a,o,s){let c=n.wrapTools(r);return new e.Robota({name:t.agentName??`agent`,aiProviders:[i],defaultModel:{provider:i.name,model:a,...t.effort!==void 0&&{effort:t.effort},...t.temperature!==void 0&&{temperature:t.temperature},...t.maxOutputTokens!==void 0&&{maxTokens:t.maxOutputTokens}},systemMessage:o,tools:c,isToolVisible:e=>n.isToolVisible(e),logging:{enabled:!1},eventService:s,...t.providerTimeout!==void 0&&{timeout:t.providerTimeout},...t.responseFormat?{responseFormat:t.responseFormat}:{},...t.ask?{ask:t.ask}:{},...t.contextCapacityHint===void 0?{}:{contextCapacityHint:t.contextCapacityHint}})}const je=(0,e.createLogger)(`SessionHistoryOps`);function Me(e,t){return{...e,...t}}async function Ne(t,n,r){r?.throwIfAborted();let i=n.agent.getHistory(),a=i.filter(e=>e.role!==`system`);if(a.length===0)return;n.contextTracker.updateFromHistory(i);let o=n.contextTracker.getContextState(),s=await n.compactionOrchestrator.compact(n.aiProvider,a,t,r,n.trigger,n.hookTraceEnv);n.agent.clearHistory(),n.agent.injectMessage(`system`,n.systemMessage),n.agent.injectMessage(`assistant`,`[Context Summary]\n${s}`),n.contextTracker.updateFromHistory(n.agent.getHistory());let c={session_id:n.sessionId,cwd:n.cwd,hook_event_name:`PostCompact`,trigger:n.trigger,compact_summary:s};(0,e.runHooks)(n.hooks,`PostCompact`,c,n.hookTypeExecutors,n.hookTraceEnv).catch(e=>je.warn(`hook failed`,{error:e}));let l=n.contextTracker.getContextState();n.log(`context_compact`,{trigger:n.trigger,before:o,after:l}),n.onCompactEventCallback?.({trigger:n.trigger,before:o,after:l}),n.onCompactCallback&&n.onCompactCallback(s)}function Pe(e){let t=e.agent.getHistory(),n=new Date().toISOString(),r=e.sessionStore.load(e.sessionId);if(r.status!==`valid`&&r.status!==`missing`)return r;let i=r.status===`valid`?r.record:void 0,a={...i,id:e.sessionId,name:i?.name,cwd:e.cwd,createdAt:i?.createdAt??n,updatedAt:n,messages:t,history:e.getFullHistory(),systemPrompt:e.systemPrompt,toolSchemas:e.toolSchemas};return e.sessionStore.save(a),{status:`valid`,record:a}}const Fe=/^[A-Za-z0-9][A-Za-z0-9._-]*$/;function Ie(){return`session_${(0,n.randomUUID)()}`}function Le(e){return e.length>0&&e.length<=128&&Fe.test(e)}function S(e){if(!Le(e))throw Error(`Invalid session id: ${JSON.stringify(e)}. A session id must be 1-128 characters of letters, digits, dot, underscore or hyphen, starting with a letter or digit.`)}const Re=(0,e.createLogger)(`SessionLifecycle`);function ze(e,t,n){e.configureNativeWebTools?.({webSearch:!0}),`onServerToolUse`in e&&(e.onServerToolUse=(e,t)=>{n(`server_tool`,{tool:e,...t})})}function Be(t,n,r,i,a,o,s){(0,e.runHooks)(r,`SessionStart`,{session_id:t,cwd:n,hook_event_name:`SessionStart`,...o!==void 0&&{permission_mode:o},...s!==void 0&&{transcript_path:s},env:{CLAUDE_PROJECT_DIR:n,CLAUDE_SESSION_ID:t}},i).then(e=>{e.stdout&&a(e.stdout)}).catch(e=>Re.warn(`SessionStart hook failed`,{error:e}))}async function Ve(t,n,r,i,a,o,s){await(0,e.runHooks)(i,`SessionEnd`,{session_id:t,cwd:n,hook_event_name:`SessionEnd`,reason:r,...o!==void 0&&{permission_mode:o},...s!==void 0&&{transcript_path:s},env:{CLAUDE_PROJECT_DIR:n,CLAUDE_SESSION_ID:t}},a)}function He(e){return{...e?.ephemeralSystemContext!==void 0&&{ephemeralSystemContext:e.ephemeralSystemContext},...e?.driverId!==void 0&&{driverId:e.driverId},...e?.turnSource!==void 0&&{turnSource:e.turnSource},...e?.toolChoice!==void 0&&{toolChoice:e.toolChoice},...e?.traceContext!==void 0&&{traceContext:e.traceContext},...e?.peerTurn===!0&&{withholdHostedTools:!0}}}const Ue=`unknown_tool`;function We(e){return{knownToolNames:new Set(e.knownToolNames),unknownToolCallIds:new Set,...e.onToolExecution&&{onToolExecution:e.onToolExecution}}}function Ge(e,t,n){if(e.onToolExecution){if(t===`tool_execution_request`){Ke(e,n);return}t===`tool_execution_result`&&qe(e,n)}}function Ke(e,t){let n=C(t.toolName),r=C(t.toolCallId);!n||!r||e.knownToolNames.has(n)||(e.unknownToolCallIds.add(r),e.onToolExecution?.({type:`start`,toolName:n,toolArgs:Je(t.parameters)}))}function qe(e,t){let n=C(t.toolName),r=C(t.toolCallId);if(!n||!r)return;let i=Ye(t.metadata);if(!(e.unknownToolCallIds.has(r)||i?.errorCode===Ue))return;e.unknownToolCallIds.delete(r);let a=C(t.error)??`Tool "${n}" is not registered.`;e.onToolExecution?.({type:`end`,toolName:n,success:!1,toolResultData:JSON.stringify({success:!1,error:a,errorCode:Ue,requestedTool:C(i?.requestedTool)??n,availableTools:Xe(i?.availableTools)})})}function Je(e){let t=Ye(e);if(!t)return;let n={};for(let[e,r]of Object.entries(t))(typeof r==`string`||typeof r==`number`||typeof r==`boolean`||typeof r==`object`&&r)&&(n[e]=r);return n}function C(e){return typeof e==`string`&&e.length>0?e:void 0}function Ye(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:void 0}function Xe(e){return Array.isArray(e)?e.filter(e=>typeof e==`string`):[]}const Ze=(0,e.createLogger)(`SessionRun`);function Qe(t,n,r,i){let a=typeof r.model==`string`?r.model:t.model,o=typeof r.provider==`string`?r.provider:t.aiProvider.name,s=r.effort,c=typeof s==`string`&&(0,e.isModelEffort)(s)?s:t.effort??(typeof t.agent.getModel==`function`?t.agent.getModel().effort:void 0)??`high`,l=typeof r.round==`number`?r.round:void 0;(0,e.runHooks)(t.hooks,n,{session_id:t.sessionId,cwd:t.cwd,hook_event_name:n,model:a,provider:o,effort:c,...l!==void 0&&{round:l},...t.permissionMode!==void 0&&{permission_mode:t.permissionMode},...t.transcriptPath!==void 0&&{transcript_path:t.transcriptPath},env:{CLAUDE_PROJECT_DIR:t.cwd,CLAUDE_SESSION_ID:t.sessionId}},t.hookTypeExecutors,i).catch(e=>Ze.warn(`hook failed`,{error:e}))}async function $e(t,n,r,i,a){let o=a?.traceContext,s=o?(0,e.traceEnvFor)(`hooks`,o,o.parentSpanId):void 0;if(r.contextTracker.updateFromHistory(r.agent.getHistory()),r.contextTracker.shouldAutoCompact()){let e=r.aiProvider,t=e.onTextDelta;e.onTextDelta=void 0;try{await(s?r.compact(i,s):r.compact(i))}finally{e.onTextDelta=t}}r.log(`user`,{content:t});let c=await(0,e.runHooks)(r.hooks,`UserPromptSubmit`,{session_id:r.sessionId,cwd:r.cwd,hook_event_name:`UserPromptSubmit`,user_message:n??t,prompt:n??t,...r.permissionMode!==void 0&&{permission_mode:r.permissionMode},...r.transcriptPath!==void 0&&{transcript_path:r.transcriptPath},env:{CLAUDE_PROJECT_DIR:r.cwd,CLAUDE_SESSION_ID:r.sessionId}},r.hookTypeExecutors,s),l=[r.sessionStartStdout,c.stdout].filter(Boolean).join(`
|
|
6
6
|
`),u=l?`<system-reminder>\n${l}\n</system-reminder>\n${t}`:t;r.clearSessionStartStdout();let d=r.agent.getHistory(),f=JSON.stringify(d),p=(0,e.getProviderCapabilities)(r.aiProvider);r.log(`pre_run`,{historyLength:d.length,historyChars:f.length,historyEstTokens:Math.ceil(f.length/e.CONTEXT_ESTIMATE_CHARS_PER_TOKEN),input:u,history:d,model:r.model,provider:r.aiProvider.name,maxTokens:r.contextTracker.getContextState().maxTokens,nativeWebSearchSupported:p.nativeWebTools.webSearch.supported,nativeWebSearchEnabled:p.nativeWebTools.webSearch.enabled,nativeWebFetchSupported:p.nativeWebTools.webFetch.supported,nativeWebFetchEnabled:p.nativeWebTools.webFetch.enabled}),r.contextTracker.updateFromHistory([...d,(0,e.createUserMessage)(u)]),r.onContextUpdate?.(r.contextTracker.getContextState());let m;try{let t=We({knownToolNames:r.knownToolNames??[],...r.onToolExecution&&{onToolExecution:r.onToolExecution}}),n=r.onTextDelta?e=>{r.log(`text_delta`,{delta:e}),r.onTextDelta?.(e)}:void 0,o={};if(m=await r.agent.run(u,{signal:i,maxExecutionRounds:r.maxTurns??0,...He(a),onExecutionEvent:(n,i)=>{if(n!==e.PROVIDER_CALL_EVENTS.COMPLETED&&r.log(n,i),Ge(t,n,i),n===`provider_request`){let e=i;o={model:e.model,provider:e.provider},Qe(r,`PreModelCall`,e,s)}else if(n===`provider_response_normalized`)Qe(r,`PostModelCall`,{...i,...o},s);else if(n===e.PROVIDER_FALLBACK_EVENTS.SWITCHED){let t=(0,e.readModelFallbackNotice)(i);t!==void 0&&(Qe(r,`PostModelCall`,{round:i.round,model:t.from.model,provider:t.from.provider},s),r.emitProviderFallback?.(t))}else if(n===e.PROVIDER_CALL_EVENTS.COMPLETED&&r.emitProviderCallCompleted){let e=i;Number.isSafeInteger(e.round)&&e.round>0&&typeof e.startedAt==`string`&&typeof e.endedAt==`string`&&(e.outcome===`success`||e.outcome===`failure`||e.outcome===`interrupted`)&&r.emitProviderCallCompleted({round:e.round,startedAt:e.startedAt,endedAt:e.endedAt,outcome:e.outcome,...typeof e.callId==`string`&&/^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(e.callId)&&{callId:e.callId},...(e.disposition===`invoked`||e.disposition===`cache-hit`||e.disposition===`preflight-refused`)&&{disposition:e.disposition},...typeof e.providerId==`string`&&e.providerId.length>0&&e.providerId.length<=128&&[...e.providerId].every(e=>e.charCodeAt(0)>=32)&&{providerId:e.providerId},...typeof e.modelId==`string`&&e.modelId.length>0&&e.modelId.length<=128&&[...e.modelId].every(e=>e.charCodeAt(0)>=32)&&{modelId:e.modelId},...(e.usageProvenance===`complete`||e.usageProvenance===`partial`||e.usageProvenance===`absent`)&&{usageProvenance:e.usageProvenance},...e.usageProvenance===`complete`&&typeof e.promptTokens==`number`&&Number.isSafeInteger(e.promptTokens)&&e.promptTokens>=0&&typeof e.completionTokens==`number`&&Number.isSafeInteger(e.completionTokens)&&e.completionTokens>=0&&typeof e.totalTokens==`number`&&Number.isSafeInteger(e.totalTokens)&&e.totalTokens===e.promptTokens+e.completionTokens&&{promptTokens:e.promptTokens,completionTokens:e.completionTokens,totalTokens:e.totalTokens},...e.disposition===`invoked`&&typeof e.providerRequestId==`string`&&{providerRequestId:e.providerRequestId}})}n===`assistant_message_committed`&&(r.contextTracker.updateFromHistory(r.agent.getHistory()),r.onContextUpdate?.(r.contextTracker.getContextState()))},...n&&{onTextDelta:n}}),i.aborted)throw new DOMException(`Aborted`,`AbortError`)}catch(t){throw r.log(`error`,{message:t instanceof Error?t.message:String(t),stack:t instanceof Error?t.stack??``:``,historyLength:r.agent.getHistory().length}),(0,e.runHooks)(r.hooks,`StopFailure`,{session_id:r.sessionId,cwd:r.cwd,hook_event_name:`StopFailure`,reason:t instanceof Error?t.message:String(t),stop_hook_active:!1,...r.permissionMode!==void 0&&{permission_mode:r.permissionMode},...r.transcriptPath!==void 0&&{transcript_path:r.transcriptPath},env:{CLAUDE_PROJECT_DIR:r.cwd,CLAUDE_SESSION_ID:r.sessionId}},r.hookTypeExecutors,s).catch(e=>Ze.warn(`hook failed`,{error:e})),t}let h=r.agent.getHistory(),g=h.map(e=>{let t=`toolCalls`in e&&Array.isArray(e.toolCalls)&&e.toolCalls.length>0,n=t?e.toolCalls.map(e=>e.function.name):[];return{role:e.role,contentLength:typeof e.content==`string`?e.content.length:0,hasToolCalls:t,toolCallNames:n,...e.metadata?{metadata:e.metadata}:{}}});r.log(`assistant`,{content:m,historyLength:h.length,estimatedChars:JSON.stringify(h).length,history:h,historyStructure:g}),r.contextTracker.updateFromHistory(h);let _=r.contextTracker.getContextState();return r.onContextUpdate?.(_),r.log(`context`,{maxTokens:_.maxTokens,usedTokens:_.usedTokens,usedPercentage:_.usedPercentage,remainingPercentage:_.remainingPercentage}),(0,e.runHooks)(r.hooks,`Stop`,{session_id:r.sessionId,cwd:r.cwd,hook_event_name:`Stop`,response:m.substring(0,500),last_assistant_message:m,stop_hook_active:!1,...r.permissionMode!==void 0&&{permission_mode:r.permissionMode},...r.transcriptPath!==void 0&&{transcript_path:r.transcriptPath},env:{CLAUDE_PROJECT_DIR:r.cwd,CLAUDE_SESSION_ID:r.sessionId}},r.hookTypeExecutors,s).catch(e=>Ze.warn(`hook failed`,{error:e})),r.getSessionStore()&&r.persistSession(),m}var et=class{agent;claim;sessionId;execution=null;constructor(e,t,n){this.agent=e,this.claim=t,this.sessionId=n}async invoke(e,t,r){let i=this.claim.claim(),a=tt(i,r);try{return i.signal.throwIfAborted(),this.execution=this.agent.invokeRuntimeTool(e,t,{toolName:e,parameters:t,executionId:(0,n.randomUUID)(),sessionId:this.sessionId,signal:i.signal,permissionInteraction:`deny`}),await this.execution}finally{this.execution=null,a(),this.claim.release(i)}}async drain(){await this.execution}};function tt(e,t){let n=()=>e.abort(t?.reason);return t?.aborted?n():t?.addEventListener(`abort`,n,{once:!0}),()=>t?.removeEventListener(`abort`,n)}var nt=class extends f{agent;eventService=new e.ObservableEventService;permissionEnforcer;contextTracker;permissionMode;activePresetId;parallelSubagentsEnabled;sessionId;aiProvider;toolSchemas;model;systemMessage;messageCount=0;terminal;sessionStore;hooks;hookTypeExecutors;onTextDeltaCallback;onContextUpdateCallback;onToolExecutionCallback;onCompactCallback;onCompactEventCallback;sessionLogger;maxTurns;compactionOrchestrator;runtimeTools;wrapAddedTools;pendingTools=[];toolChange=Promise.resolve();shuttingDown=!1;shutdownPromise=null;sessionStartStdout=``;transcriptPath;constructor(t){super(t.cwd);let{tools:n,provider:r,systemMessage:i}=t;this.terminal=t.terminal,this.sessionStore=t.sessionStore,this.systemMessage=i,this.toolSchemas=n.map(e=>e.schema),this.wrapAddedTools=t.wrapAddedTools,this.sessionLogger=t.sessionLogger,this.hooks=t.hooks,this.hookTypeExecutors=t.hookTypeExecutors,this.onTextDeltaCallback=t.onTextDelta,this.onContextUpdateCallback=t.onContextUpdate,this.onToolExecutionCallback=t.onToolExecution,this.onCompactCallback=t.onCompact,this.onCompactEventCallback=t.onCompactEvent,this.maxTurns=t.maxTurns,this.model=t.model??`claude-sonnet-4-5`,this.sessionId=t.sessionId??Ie(),this.permissionMode=t.permissionMode??(t.defaultTrustLevel?e.TRUST_TO_MODE[t.defaultTrustLevel]:void 0)??`default`,this.activePresetId=t.activePresetId??`default`,this.parallelSubagentsEnabled=t.enableParallelSubagents??!0,this.transcriptPath=t.transcriptPath,this.log(`session_init`,{cwd:this.cwd,systemPromptLength:i.length,systemPrompt:i,toolSchemas:this.toolSchemas,model:this.model,provider:r.name}),this.aiProvider=r,ze(r,t,(e,t)=>this.log(e,t)),this.permissionEnforcer=Oe(t,this.sessionId,this.cwd,()=>this.permissionMode,this.transcriptPath),this.requireClassifierFor(this.permissionMode),this.addPermissionModeGuard(e=>this.requireClassifierFor(e));let{contextTracker:a,compactionOrchestrator:o}=ke(t,this.model,this.sessionId,this.cwd);this.contextTracker=a,this.compactionOrchestrator=o,this.agent=Ae(t,this.permissionEnforcer,n,r,this.model,i,this.eventService),this.runtimeTools=new et(this.agent,this.turnClaim,this.sessionId),Be(this.sessionId,this.cwd,this.hooks,this.hookTypeExecutors,e=>void(this.sessionStartStdout=e),this.permissionMode,this.transcriptPath)}async run(e,t,n){if(this.shuttingDown)throw Error(`[LIFECYCLE] Session is shutting down`);let r=this.turnClaim.claim(),i=tt(r,n?.signal),{signal:a}=r;this.permissionEnforcer.beginTurn(n?.peerTurn===!0);try{a.throwIfAborted(),await this.serializeToolChange(()=>this.applyPendingTools());let r=await $e(e,t,this.buildRunContext(),a,n);return this.messageCount+=1,r}finally{this.permissionEnforcer.endTurn(),i(),this.turnClaim.release(r)}}addTools(e){return this.shuttingDown?Promise.reject(Error(`[LIFECYCLE] Session is shutting down`)):this.serializeToolChange(async()=>{let t=new Set([...this.toolSchemas.map(e=>e.name),...this.pendingTools.map(e=>e.schema.name)]),n=[];for(let r of e)t.has(r.schema.name)||(t.add(r.schema.name),n.push(r));return n.length===0?[]:(this.pendingTools.push(...n),this.turnClaim.isRunning()||await this.applyPendingTools(),n.map(e=>e.schema.name))})}serializeToolChange(e){let t=this.toolChange.then(e);return this.toolChange=t.then(()=>void 0,()=>void 0),t}async applyPendingTools(){if(this.pendingTools.length===0)return;let e=this.pendingTools.splice(0);await this.agent.ensureReady();let t=this.permissionEnforcer.wrapTools(this.wrapAddedTools?.(e)??e);await this.agent.updateTools([...this.agent.getConfig().tools??[],...t]),this.toolSchemas.push(...t.map(e=>e.schema))}async listRuntimeTools(){if(this.shuttingDown)throw Error(`[LIFECYCLE] Session is shutting down`);return this.agent.listRuntimeTools()}async invokeRuntimeTool(e,t,n){if(this.shuttingDown)throw Error(`[LIFECYCLE] Session is shutting down`);return this.runtimeTools.invoke(e,t,n?.signal)}getEventService(){return this.eventService}log(e,t){this.sessionLogger?.log(this.sessionId,e,t)}persistSessionInternal(){this.sessionStore&&Pe({sessionId:this.sessionId,cwd:this.cwd,systemPrompt:this.systemMessage,toolSchemas:this.toolSchemas,sessionStore:this.sessionStore,agent:this.agent,getFullHistory:()=>this.getFullHistory()})}shutdown(e={}){if(this.shutdownPromise)return this.shutdownPromise;this.shuttingDown=!0;let t=e.reason??`other`,n=async(e,t)=>{try{await t()}catch(t){this.log(`session_shutdown_step_error`,{step:e,error:t instanceof Error?t.message:String(t)})}};return this.shutdownPromise=(async()=>{await n(`abort`,()=>this.abort()),await n(`drain-direct-tool`,()=>this.runtimeTools.drain()),this.log(`session_shutdown`,{reason:t}),await n(`persist`,()=>this.persistSessionInternal()),await n(`session-end-hook`,()=>Ve(this.sessionId,this.cwd,t,this.hooks,this.hookTypeExecutors,this.permissionMode,this.transcriptPath)),await n(`destroy-agent`,async()=>{await this.agent.destroy()})})(),this.shutdownPromise}swapProvider(e,t){this.agent.swapDefaultProvider(e,t),e.configureNativeWebTools?.({webSearch:!0}),`onServerToolUse`in e&&(e.onServerToolUse=(e,t)=>this.log(`server_tool`,{tool:e,...t})),this.aiProvider=e}async compact(e,t=`manual`,n){await this.compactWith(e,t,n)}async compactWith(e,t,n,r){let i={systemMessage:this.systemMessage,compactionOrchestrator:this.compactionOrchestrator,onCompactCallback:this.onCompactCallback,onCompactEventCallback:this.onCompactEventCallback,trigger:t,...r?{hookTraceEnv:r}:{}};await Ne(e,Me(this.buildRunContext(),i),n)}buildRunContext(){return{sessionId:this.sessionId,cwd:this.cwd,model:this.model,effort:this.getModelEffort(),agent:this.agent,aiProvider:this.aiProvider,contextTracker:this.contextTracker,hooks:this.hooks,hookTypeExecutors:this.hookTypeExecutors,sessionStartStdout:this.sessionStartStdout,log:(e,t)=>this.log(e,t),compact:(e,t)=>this.compactWith(void 0,`auto`,e,t),persistSession:()=>this.persistSessionInternal(),getSessionStore:()=>!!this.sessionStore,clearSessionStartStdout:()=>void(this.sessionStartStdout=``),permissionMode:this.permissionMode,transcriptPath:this.transcriptPath,maxTurns:this.maxTurns,onTextDelta:this.onTextDeltaCallback,onContextUpdate:this.onContextUpdateCallback,onToolExecution:this.onToolExecutionCallback,emitProviderCallCompleted:t=>this.eventService.emit(e.PROVIDER_CALL_EVENTS.COMPLETED,{timestamp:new Date,...t},{ownerType:`session`,ownerId:this.sessionId,ownerPath:[{type:`session`,id:this.sessionId}]}),emitProviderFallback:t=>this.eventService.emit(e.PROVIDER_FALLBACK_EVENTS.SWITCHED,{timestamp:new Date,fromProvider:t.from.provider,fromModel:t.from.model,toProvider:t.to.provider,toModel:t.to.model,reason:t.reason},{ownerType:`session`,ownerId:this.sessionId,ownerPath:[{type:`session`,id:this.sessionId}]}),knownToolNames:this.toolSchemas.map(e=>e.name)}}};function w(e,t){return e.length===0?t:`${e}.${t}`}function T(e,t){return`${e}[${t}]`}function E(e,t,n){e.push({path:t,message:n})}function D(e){if(e===null)return`null`;if(Array.isArray(e))return`an array`;if(e instanceof Date)return`a Date`;switch(typeof e){case`undefined`:return`nothing`;case`string`:return`a string`;case`number`:return`a number`;case`boolean`:return`a boolean`;case`object`:return`an object`;default:return`a ${typeof e}`}}function O(e,t,n){n!==void 0&&(e[t]=n)}function k(e,t,n,r){if(e!==void 0)return r(e,t,n)}function A(e,t,n){if(typeof e==`string`)return e;E(n,t,`expected a string, received ${D(e)}`)}function j(e,t,n){if(typeof e==`number`&&Number.isFinite(e))return e;E(n,t,`expected a finite number, received ${D(e)}`)}function M(e,t,n){if(typeof e==`number`&&Number.isInteger(e))return e;E(n,t,`expected an integer, received ${D(e)}`)}function N(e,t,n){if(typeof e==`boolean`)return e;E(n,t,`expected a boolean, received ${D(e)}`)}function P(e,t,n,r){if(typeof e==`string`&&t.includes(e))return e;E(r,n,`expected one of ${t.join(` | `)}, received ${D(e)}`)}function F(e,t,n){if(typeof e!=`string`){E(n,t,`expected an ISO-8601 timestamp string, received ${D(e)}`);return}if(Number.isNaN(Date.parse(e))){E(n,t,`expected a timestamp a date can be parsed from`);return}return e}function rt(e,t,n){if(e instanceof Date){if(Number.isNaN(e.getTime())){E(n,t,`expected a valid Date, received an invalid one`);return}return e}if(typeof e==`string`&&!Number.isNaN(Date.parse(e)))return new Date(e);E(n,t,`expected a Date or an ISO-8601 timestamp string, received ${D(e)}`)}function I(e,t,n,r){if(!Array.isArray(e)){E(n,t,`expected an array, received ${D(e)}`);return}let i=[];return e.forEach((e,a)=>{let o=r(e,T(t,a),n);o!==void 0&&i.push(o)}),i}function it(e,t,n){return I(e,t,n,A)}function L(e,t,n,r){if(typeof e!=`object`||!e||Array.isArray(e)){E(n,t,`expected an object, received ${D(e)}`);return}let i=e,a=new Set(r);for(let e of Object.keys(i))a.has(e)||E(n,w(t,e),`unknown key; the record contract does not declare it`);return i}function R(e,t,n,r){if(typeof e!=`object`||!e||Array.isArray(e)){E(n,t,`expected an object, received ${D(e)}`);return}let i={};for(let[a,o]of Object.entries(e)){let e=r(o,w(t,a),n);e!==void 0&&(i[a]=e)}return i}function z(e,t,n){if(e===null||e instanceof Date||typeof e==`string`||typeof e==`number`||typeof e==`boolean`)return e;if(Array.isArray(e)){let r=[];return e.forEach((e,i)=>{let a=z(e,T(t,i),n);a!==void 0&&r.push(a)}),r}if(typeof e==`object`)return R(e,t,n,z);E(n,t,`expected a JSON-compatible value, received ${D(e)}`)}function at(e,t,n){if(typeof e==`string`||typeof e==`number`||typeof e==`boolean`)return e;E(n,t,`expected a string, number or boolean, received ${D(e)}`)}const ot=[`complete`,`interrupted`],B=[`id`,`timestamp`,`state`,`metadata`,`role`,`content`,`parts`],st={user:[...B,`name`],assistant:[...B,`toolCalls`],system:[...B,`name`],tool:[...B,`toolCallId`,`name`]};function ct(e,t,n){if(e instanceof Date||typeof e==`string`||typeof e==`number`||typeof e==`boolean`)return e;if(Array.isArray(e)){if(e.every(e=>typeof e==`string`)||e.every(e=>typeof e==`number`))return e;E(n,t,`expected an array of only strings or only numbers`);return}if(typeof e==`object`&&e){let r={};for(let[i,a]of Object.entries(e)){if(typeof a!=`number`){E(n,w(t,i),`expected a number, received ${D(a)}`);continue}r[i]=a}return r}E(n,t,`expected a metadata value, received ${D(e)}`)}function lt(e,t,n){return R(e,t,n,ct)}function ut(e,t,n){let r=P(e?.type,[`text`,`image_inline`,`image_uri`],w(t,`type`),n);if(r===void 0)return;if(r===`text`){let r=L(e,t,n,[`type`,`text`]);if(r===void 0)return;let i=A(r.text,w(t,`text`),n);return i===void 0?void 0:{type:`text`,text:i}}if(r===`image_inline`){let r=L(e,t,n,[`type`,`mimeType`,`data`]);if(r===void 0)return;let i=A(r.mimeType,w(t,`mimeType`),n),a=A(r.data,w(t,`data`),n);return i===void 0||a===void 0?void 0:{type:`image_inline`,mimeType:i,data:a}}let i=L(e,t,n,[`type`,`uri`,`mimeType`]);if(i===void 0)return;let a=A(i.uri,w(t,`uri`),n);if(a===void 0)return;let o={type:`image_uri`,uri:a};return O(o,`mimeType`,k(i.mimeType,w(t,`mimeType`),n,A)),o}function dt(e,t,n){let r=L(e,t,n,[`id`,`type`,`function`]);if(r===void 0)return;let i=A(r.id,w(t,`id`),n),a=P(r.type,[`function`],w(t,`type`),n),o=w(t,`function`),s=L(r.function,o,n,[`name`,`arguments`]),c=s===void 0?void 0:A(s.name,w(o,`name`),n),l=s===void 0?void 0:A(s.arguments,w(o,`arguments`),n);if(i!==void 0&&a!==void 0&&c!==void 0&&l!==void 0)return{id:i,type:a,function:{name:c,arguments:l}}}function ft(e,t,n){let r=A(e.id,w(t,`id`),n),i=rt(e.timestamp,w(t,`timestamp`),n),a=P(e.state,ot,w(t,`state`),n);if(r!==void 0&&i!==void 0&&a!==void 0)return{id:r,timestamp:i,state:a}}function pt(e,t,n,r){O(e,`metadata`,k(t.metadata,w(n,`metadata`),r,lt)),O(e,`parts`,k(t.parts,w(n,`parts`),r,(e,t,n)=>I(e,t,n,ut)))}function V(e,t,n){let r=P(e?.role,[`user`,`assistant`,`system`,`tool`],w(t,`role`),n);if(r===void 0)return;let i=L(e,t,n,st[r]);if(i===void 0)return;let a=ft(i,t,n);if(a===void 0)return;let o=w(t,`content`);if(r===`assistant`){let e=i.content===null?null:A(i.content,o,n);if(e===void 0)return;let s={...a,role:r,content:e};return pt(s,i,t,n),O(s,`toolCalls`,k(i.toolCalls,w(t,`toolCalls`),n,(e,t,n)=>I(e,t,n,dt))),s}let s=A(i.content,o,n);if(s===void 0)return;if(r===`tool`){let e=A(i.toolCallId,w(t,`toolCallId`),n);if(e===void 0)return;let o={...a,role:r,content:s,toolCallId:e};return pt(o,i,t,n),O(o,`name`,k(i.name,w(t,`name`),n,A)),o}let c={...a,role:r,content:s};return pt(c,i,t,n),O(c,`name`,k(i.name,w(t,`name`),n,A)),c}function mt(e,t,n){let r=L(e,t,n,[`id`,`timestamp`,`category`,`type`,`data`]);if(r===void 0)return;let i=A(r.id,w(t,`id`),n),a=rt(r.timestamp,w(t,`timestamp`),n),o=A(r.category,w(t,`category`),n),s=A(r.type,w(t,`type`),n);if(i===void 0||a===void 0||o===void 0||s===void 0)return;let c={id:i,timestamp:a,category:o,type:s};return O(c,`data`,k(r.data,w(t,`data`),n,z)),c}const ht=[`agent`,`process`,`scheduled`,`tool-invocation`],gt=[`foreground`,`background`],_t=[`none`,`worktree`],vt=[`queued`,`running`,`waiting_permission`,`sleeping`,`paused`,`completed`,`failed`,`cancelled`],yt=[`idle`,`max_runtime`,`output_limit`,`repetition`,`stale_worker`],bt=[`validation`,`capacity`,`permission`,`timeout`,`runner`,`crash`,`provider`,`process`];function xt(e,t,n){return R(e,t,n,at)}function St(e,t,n){return R(e,t,n,A)}function Ct(e,t,n){let r=L(e,t,n,[`category`,`message`,`recoverable`]);if(r===void 0)return;let i=P(r.category,bt,w(t,`category`),n),a=A(r.message,w(t,`message`),n),o=N(r.recoverable,w(t,`recoverable`),n);if(i!==void 0&&a!==void 0&&o!==void 0)return{category:i,message:a,recoverable:o}}function wt(e,t,n){let r=L(e,t,n,[`promptTokens`,`completionTokens`,`totalTokens`]);if(r===void 0)return;let i=M(r.promptTokens,w(t,`promptTokens`),n),a=M(r.completionTokens,w(t,`completionTokens`),n),o=M(r.totalTokens,w(t,`totalTokens`),n);if(i!==void 0&&a!==void 0&&o!==void 0)return{promptTokens:i,completionTokens:a,totalTokens:o}}function Tt(e,t,n){let r=L(e,t,n,[`taskId`,`kind`,`output`,`exitCode`,`signalCode`,`metadata`,`usage`]);if(r===void 0)return;let i=A(r.taskId,w(t,`taskId`),n),a=P(r.kind,ht,w(t,`kind`),n),o=A(r.output,w(t,`output`),n);if(i===void 0||a===void 0||o===void 0)return;let s=k(r.exitCode,w(t,`exitCode`),n,M),c=k(r.signalCode,w(t,`signalCode`),n,A),l=k(r.metadata,w(t,`metadata`),n,xt),u=k(r.usage,w(t,`usage`),n,wt);switch(a!==`process`&&s!==void 0&&E(n,w(t,`exitCode`),`must not be set for a '${a}' result`),a!==`process`&&c!==void 0&&E(n,w(t,`signalCode`),`must not be set for a '${a}' result`),a!==`agent`&&u!==void 0&&E(n,w(t,`usage`),`must not be set for a '${a}' result`),a){case`process`:{let e={taskId:i,kind:a,output:o};return O(e,`exitCode`,s),O(e,`signalCode`,c),O(e,`metadata`,l),e}case`agent`:{let e={taskId:i,kind:a,output:o};return O(e,`metadata`,l),O(e,`usage`,u),e}case`scheduled`:{let e={taskId:i,kind:a,output:o};return O(e,`metadata`,l),e}case`tool-invocation`:{let e={taskId:i,kind:a,output:o};return O(e,`metadata`,l),e}}}function Et(e,t,n){let r=L(e,t,n,[`cronExpression`,`agentInstruction`,`command`,`shell`,`env`]);if(r===void 0)return;let i=A(r.cronExpression,w(t,`cronExpression`),n);if(i===void 0)return;let a={cronExpression:i};for(let e of[`agentInstruction`,`command`,`shell`])O(a,e,k(r[e],w(t,e),n,A));return O(a,`env`,k(r.env,w(t,`env`),n,St)),a}const Dt=[`detached`,`wait_all`,`wait_any`,`manual`],Ot=[`running`,`completed`],kt=[`background_job_group_created`,`background_job_group_updated`,`background_job_group_completed`];function At(e,t,n){let r=L(e,t,n,[`taskId`,`label`,`status`,`summary`,`outputRef`,`error`,`startedAt`,`completedAt`]);if(r===void 0)return;let i=A(r.taskId,w(t,`taskId`),n),a=A(r.label,w(t,`label`),n),o=P(r.status,vt,w(t,`status`),n);if(i===void 0||a===void 0||o===void 0)return;let s={taskId:i,label:a,status:o};for(let e of[`summary`,`outputRef`])O(s,e,k(r[e],w(t,e),n,A));for(let e of[`startedAt`,`completedAt`])O(s,e,k(r[e],w(t,e),n,F));return O(s,`error`,k(r.error,w(t,`error`),n,Ct)),s}function jt(e,t,n){let r=L(e,t,n,[`id`,`parentSessionId`,`waitPolicy`,`taskIds`,`status`,`createdAt`,`updatedAt`,`label`,`completedAt`,`results`]);if(r===void 0)return;let i=A(r.id,w(t,`id`),n),a=A(r.parentSessionId,w(t,`parentSessionId`),n),o=P(r.waitPolicy,Dt,w(t,`waitPolicy`),n),s=it(r.taskIds,w(t,`taskIds`),n),c=P(r.status,Ot,w(t,`status`),n),l=F(r.createdAt,w(t,`createdAt`),n),u=F(r.updatedAt,w(t,`updatedAt`),n),d=I(r.results,w(t,`results`),n,At);if(i===void 0||a===void 0||o===void 0||s===void 0||c===void 0||l===void 0||u===void 0||d===void 0)return;let f={id:i,parentSessionId:a,waitPolicy:o,taskIds:s,status:c,createdAt:l,updatedAt:u,results:d};return O(f,`label`,k(r.label,w(t,`label`),n,A)),O(f,`completedAt`,k(r.completedAt,w(t,`completedAt`),n,F)),f}function Mt(e,t,n){let r=P(e?.type,kt,w(t,`type`),n);if(r===void 0)return;let i=L(e,t,n,[`type`,`group`]);if(i===void 0)return;let a=jt(i.group,w(t,`group`),n);return a===void 0?void 0:{type:r,group:a}}const Nt=[`parentTaskId`,`currentAction`,`logPath`,`transcriptPath`],Pt=[`agentType`,`resumeSessionId`,`promptPreview`,`worktreePath`,`branchName`,`worktreeStatus`,`worktreeNextAction`,`worktreeBaseRevision`,`parentWorktreeStatus`],Ft=[`commandPreview`],It=[`startedAt`,`lastActivityAt`,`completedAt`],Lt=[`id`,`kind`,`label`,`status`,`mode`,`parentSessionId`,`depth`,`cwd`,`pid`,`updatedAt`,`isolation`,`unread`,`result`,`error`,`timeoutReason`,`schedule`,`nextFireAt`,`metadata`,...Nt,...Pt,...Ft,...It];function Rt(e,t,n){let r=L(e,t,n,Lt);if(r===void 0)return;let i=A(r.id,w(t,`id`),n),a=P(r.kind,ht,w(t,`kind`),n),o=A(r.label,w(t,`label`),n),s=P(r.status,vt,w(t,`status`),n),c=P(r.mode,gt,w(t,`mode`),n),l=A(r.parentSessionId,w(t,`parentSessionId`),n),u=M(r.depth,w(t,`depth`),n),d=A(r.cwd,w(t,`cwd`),n),f=F(r.updatedAt,w(t,`updatedAt`),n),p=N(r.unread,w(t,`unread`),n);if(i===void 0||a===void 0||o===void 0||s===void 0||c===void 0||l===void 0||u===void 0||d===void 0||f===void 0||p===void 0)return;let m={id:i,label:o,status:s,mode:c,parentSessionId:l,depth:u,cwd:d,updatedAt:f,unread:p};for(let e of Nt)O(m,e,k(r[e],w(t,e),n,A));for(let e of It)O(m,e,k(r[e],w(t,e),n,F));O(m,`pid`,k(r.pid,w(t,`pid`),n,M)),O(m,`timeoutReason`,k(r.timeoutReason,w(t,`timeoutReason`),n,(e,t,n)=>P(e,yt,t,n))),O(m,`metadata`,k(r.metadata,w(t,`metadata`),n,xt)),O(m,`error`,k(r.error,w(t,`error`),n,Ct));let h=k(r.result,w(t,`result`),n,Tt);h!==void 0&&(h.taskId!==i&&E(n,w(w(t,`result`),`taskId`),`must match the task ID`),h.kind!==a&&E(n,w(w(t,`result`),`kind`),`must match the task kind`));let g=k(r.agentType,w(t,`agentType`),n,A),_=k(r.resumeSessionId,w(t,`resumeSessionId`),n,A),v=k(r.promptPreview,w(t,`promptPreview`),n,A),ee=k(r.isolation,w(t,`isolation`),n,(e,t,n)=>P(e,_t,t,n)),y={};for(let e of[`worktreePath`,`branchName`,`worktreeStatus`,`worktreeNextAction`,`worktreeBaseRevision`,`parentWorktreeStatus`])y[e]=k(r[e],w(t,e),n,A);for(let e of Pt){let r=e===`agentType`?g:e===`resumeSessionId`?_:e===`promptPreview`?v:y[e];a!==`agent`&&r!==void 0&&E(n,w(t,e),`must not be set for a '${a}' task`)}a!==`agent`&&ee!==void 0&&E(n,w(t,`isolation`),`must not be set for a '${a}' task`);let b=k(r.commandPreview,w(t,`commandPreview`),n,A);a===`agent`&&b!==void 0&&E(n,w(t,`commandPreview`),`must not be set for a '${a}' task`);let te=k(r.schedule,w(t,`schedule`),n,Et),ne=k(r.nextFireAt,w(t,`nextFireAt`),n,F);switch(a!==`scheduled`&&te!==void 0&&E(n,w(t,`schedule`),`must not be set for a '${a}' task`),a!==`scheduled`&&ne!==void 0&&E(n,w(t,`nextFireAt`),`must not be set for a '${a}' task`),a){case`agent`:{let e=h?.kind===`agent`?h:void 0,t={...m,kind:a};return O(t,`result`,e),O(t,`agentType`,g),O(t,`resumeSessionId`,_),O(t,`promptPreview`,v),O(t,`isolation`,ee),O(t,`worktreePath`,y.worktreePath),O(t,`branchName`,y.branchName),O(t,`worktreeStatus`,y.worktreeStatus),O(t,`worktreeNextAction`,y.worktreeNextAction),O(t,`worktreeBaseRevision`,y.worktreeBaseRevision),O(t,`parentWorktreeStatus`,y.parentWorktreeStatus),t}case`process`:{let e=h?.kind===`process`?h:void 0,t={...m,kind:a};return O(t,`result`,e),O(t,`commandPreview`,b),t}case`tool-invocation`:{let e=h?.kind===`tool-invocation`?h:void 0,t={...m,kind:a};return O(t,`result`,e),O(t,`commandPreview`,b),t}case`scheduled`:{let e=h?.kind===`scheduled`?h:void 0,t={...m,kind:a};return O(t,`result`,e),O(t,`commandPreview`,b),O(t,`schedule`,te),O(t,`nextFireAt`,ne),t}}}const zt=[`background_task_created`,`background_task_started`,`background_task_updated`,`background_task_completed`,`background_task_failed`,`background_task_cancelled`,`background_task_text_delta`,`background_task_tool_start`,`background_task_tool_end`,`background_task_permission_request`,`background_task_closed`,`background_task_waking`];function H(e,t,n){return A(e.taskId,w(t,`taskId`),n)}function Bt(e,t,n){let r=L(e,t,n,[`type`,`taskId`,`delta`]);if(r===void 0)return;let i=H(r,t,n),a=A(r.delta,w(t,`delta`),n);if(i!==void 0&&a!==void 0)return{type:`background_task_text_delta`,taskId:i,delta:a}}function Vt(e,t,n){let r=L(e,t,n,[`type`,`taskId`,`toolName`,`firstArg`]);if(r===void 0)return;let i=H(r,t,n),a=A(r.toolName,w(t,`toolName`),n);if(i===void 0||a===void 0)return;let o={type:`background_task_tool_start`,taskId:i,toolName:a};return O(o,`firstArg`,k(r.firstArg,w(t,`firstArg`),n,A)),o}function Ht(e,t,n){let r=L(e,t,n,[`type`,`taskId`,`toolName`,`success`,`error`]);if(r===void 0)return;let i=H(r,t,n),a=A(r.toolName,w(t,`toolName`),n),o=N(r.success,w(t,`success`),n);if(i===void 0||a===void 0||o===void 0)return;let s={type:`background_task_tool_end`,taskId:i,toolName:a,success:o};return O(s,`error`,k(r.error,w(t,`error`),n,A)),s}function Ut(e,t,n){let r=L(e,t,n,[`type`,`taskId`,`requestId`,`toolName`,`toolArgs`]);if(r===void 0)return;let i=H(r,t,n),a=A(r.requestId,w(t,`requestId`),n),o=A(r.toolName,w(t,`toolName`),n),s=xt(r.toolArgs,w(t,`toolArgs`),n);if(i!==void 0&&a!==void 0&&o!==void 0&&s!==void 0)return{type:`background_task_permission_request`,taskId:i,requestId:a,toolName:o,toolArgs:s}}function Wt(e,t,n){let r=L(e,t,n,[`type`,`taskId`]);if(r===void 0)return;let i=H(r,t,n);return i===void 0?void 0:{type:`background_task_closed`,taskId:i}}function Gt(e,t,n){let r=L(e,t,n,[`type`,`taskId`,`instruction`]);if(r===void 0)return;let i=H(r,t,n);if(i===void 0)return;let a={type:`background_task_waking`,taskId:i};return O(a,`instruction`,k(r.instruction,w(t,`instruction`),n,A)),a}function Kt(e,t,n,r){let i=L(t,n,r,[`type`,`task`]);if(i===void 0)return;let a=Rt(i.task,w(n,`task`),r);if(a!==void 0)return{type:e,task:a}}const qt={background_task_text_delta:Bt,background_task_tool_start:Vt,background_task_tool_end:Ht,background_task_permission_request:Ut,background_task_closed:Wt,background_task_waking:Gt};function Jt(e,t,n){let r=P(e?.type,zt,w(t,`type`),n);if(r===void 0)return;let i=qt[r];return i===void 0?Kt(r,e,t,n):i(e,t,n)}const Yt=[`skill`,`plugin`],Xt=[`user-slash`,`model-tool`],Zt=[`inject`,`fork`],Qt=[`started`,`completed`,`failed`],$t=[`memory_candidate_extracted`,`memory_candidate_queued`,`memory_candidate_saved`,`memory_candidate_skipped`,`memory_candidate_approved`,`memory_candidate_rejected`,`memory_retrieved`],en=[`manual`,`prompt-reference`,`system`],tn=[`active`,`observed`];function nn(e,t,n){let r=L(e,t,n,[`type`,`skillName`,`source`,`invocation`,`mode`,`status`,`timestamp`,`qualifiedName`,`error`]);if(r===void 0)return;let i=P(r.type,[`skill-activation`],w(t,`type`),n),a=A(r.skillName,w(t,`skillName`),n),o=P(r.source,Yt,w(t,`source`),n),s=P(r.invocation,Xt,w(t,`invocation`),n),c=P(r.mode,Zt,w(t,`mode`),n),l=P(r.status,Qt,w(t,`status`),n),u=F(r.timestamp,w(t,`timestamp`),n);if(i===void 0||a===void 0||o===void 0||s===void 0||c===void 0||l===void 0||u===void 0)return;let d=k(r.qualifiedName,w(t,`qualifiedName`),n,A),f=k(r.error,w(t,`error`),n,A);return{type:i,skillName:a,source:o,invocation:s,mode:c,status:l,timestamp:u,...d===void 0?{}:{qualifiedName:d},...f===void 0?{}:{error:f}}}function rn(e,t,n){let r=L(e,t,n,[`topic`,`path`,`score`,`truncated`]);if(r===void 0)return;let i=A(r.topic,w(t,`topic`),n),a=A(r.path,w(t,`path`),n),o=j(r.score,w(t,`score`),n),s=N(r.truncated,w(t,`truncated`),n);if(i!==void 0&&a!==void 0&&o!==void 0&&s!==void 0)return{topic:i,path:a,score:o,truncated:s}}function an(e,t,n){let r=L(e,t,n,[`type`,`at`,`candidateId`,`topic`,`reason`,`data`]);if(r===void 0)return;let i=P(r.type,$t,w(t,`type`),n),a=F(r.at,w(t,`at`),n);if(i===void 0||a===void 0)return;let o={type:i,at:a};for(let e of[`candidateId`,`topic`,`reason`])O(o,e,k(r[e],w(t,e),n,A));return O(o,`data`,k(r.data,w(t,`data`),n,(e,t,n)=>R(e,t,n,z))),o}function on(e,t,n){let r=L(e,t,n,[`id`,`sourcePath`,`relativePath`,`originalReference`,`loadType`,`status`,`byteLength`,`loadedAt`,`lastUsedAt`]);if(r===void 0)return;let i=A(r.id,w(t,`id`),n),a=A(r.sourcePath,w(t,`sourcePath`),n),o=A(r.relativePath,w(t,`relativePath`),n),s=A(r.originalReference,w(t,`originalReference`),n),c=P(r.loadType,en,w(t,`loadType`),n),l=P(r.status,tn,w(t,`status`),n),u=M(r.byteLength,w(t,`byteLength`),n),d=F(r.loadedAt,w(t,`loadedAt`),n);if(i===void 0||a===void 0||o===void 0||s===void 0||c===void 0||l===void 0||u===void 0||d===void 0)return;let f={id:i,sourcePath:a,relativePath:o,originalReference:s,loadType:c,status:l,byteLength:u,loadedAt:d};return O(f,`lastUsedAt`,k(r.lastUsedAt,w(t,`lastUsedAt`),n,F)),f}const sn=[`active`,`satisfied`,`stopped`],cn=[`satisfied`,`max-iterations`,`cancelled`,`no-progress`],ln=[`continue`,`satisfied`],un=[`pending`,`in-progress`,`done`],dn=[`planning`,`awaiting-approval`,`executing`,`completed`];function fn(e,t,n){let r=L(e,t,n,[`iteration`,`signal`,`reason`]);if(r===void 0)return;let i=M(r.iteration,w(t,`iteration`),n),a=P(r.signal,ln,w(t,`signal`),n),o=A(r.reason,w(t,`reason`),n);if(i!==void 0&&a!==void 0&&o!==void 0)return{iteration:i,signal:a,reason:o}}function pn(e,t,n){let r=L(e,t,n,[`id`,`objective`,`status`,`stopReason`,`iterations`,`maxIterations`,`startedAt`,`progress`]);if(r===void 0)return;let i=A(r.id,w(t,`id`),n),a=A(r.objective,w(t,`objective`),n),o=P(r.status,sn,w(t,`status`),n),s=M(r.iterations,w(t,`iterations`),n),c=M(r.maxIterations,w(t,`maxIterations`),n),l=F(r.startedAt,w(t,`startedAt`),n),u=I(r.progress,w(t,`progress`),n,fn);if(i===void 0||a===void 0||o===void 0||s===void 0||c===void 0||l===void 0||u===void 0)return;let d={id:i,objective:a,status:o,iterations:s,maxIterations:c,startedAt:l,progress:u};return O(d,`stopReason`,k(r.stopReason,w(t,`stopReason`),n,(e,t,n)=>P(e,cn,t,n))),d}function mn(e,t,n){let r=L(e,t,n,[`id`,`description`,`status`]);if(r===void 0)return;let i=A(r.id,w(t,`id`),n),a=A(r.description,w(t,`description`),n),o=P(r.status,un,w(t,`status`),n);if(i!==void 0&&a!==void 0&&o!==void 0)return{id:i,description:a,status:o}}function hn(e,t,n){let r=L(e,t,n,[`id`,`objective`,`steps`,`phase`,`createdAt`,`approvedAt`]);if(r===void 0)return;let i=A(r.id,w(t,`id`),n),a=A(r.objective,w(t,`objective`),n),o=I(r.steps,w(t,`steps`),n,mn),s=P(r.phase,dn,w(t,`phase`),n),c=F(r.createdAt,w(t,`createdAt`),n);if(i===void 0||a===void 0||o===void 0||s===void 0||c===void 0)return;let l={id:i,objective:a,steps:o,phase:s,createdAt:c};return O(l,`approvedAt`,k(r.approvedAt,w(t,`approvedAt`),n,F)),l}function gn(e,t,n){let r=L(e,t,n,[`branchId`,`checkpointId`]);if(r===void 0)return;let i=A(r.branchId,w(t,`branchId`),n),a=A(r.checkpointId,w(t,`checkpointId`),n);if(i!==void 0&&a!==void 0)return{branchId:i,checkpointId:a}}const _n=[`waiting`,`pending`,`running`,`stopped`,`expired`],vn=[`loopId`,`instruction`,`useDefaultPrompt`,`createdAt`,`expiresAt`,`revision`,`generation`,`phase`,`nextAllowedAt`,`delaySeconds`,`reason`,`fallbackUsed`,`terminalReason`];function yn(e,t,n){let r=L(e,t,n,vn);if(!r)return;let i=A(r.loopId,w(t,`loopId`),n),a=A(r.instruction,w(t,`instruction`),n),o=k(r.useDefaultPrompt,w(t,`useDefaultPrompt`),n,N),s=F(r.createdAt,w(t,`createdAt`),n),c=F(r.expiresAt,w(t,`expiresAt`),n),l=M(r.revision,w(t,`revision`),n),u=M(r.generation,w(t,`generation`),n),d=P(r.phase,_n,w(t,`phase`),n),f=N(r.fallbackUsed,w(t,`fallbackUsed`),n),p=k(r.nextAllowedAt,w(t,`nextAllowedAt`),n,F),m=k(r.delaySeconds,w(t,`delaySeconds`),n,M),h=k(r.reason,w(t,`reason`),n,A),g=k(r.terminalReason,w(t,`terminalReason`),n,A);if(l!==void 0&&(!Number.isSafeInteger(l)||l<0)&&E(n,w(t,`revision`),`expected a non-negative safe integer`),u!==void 0&&(!Number.isSafeInteger(u)||u<0)&&E(n,w(t,`generation`),`expected a non-negative safe integer`),m!==void 0&&(m<60||m>3600)&&E(n,w(t,`delaySeconds`),`expected a delay between 60 and 3600 seconds`),i!==void 0&&!i.trim()&&E(n,w(t,`loopId`),`expected a non-empty loop ID`),a!==void 0&&!a.trim()&&E(n,w(t,`instruction`),`expected a non-empty instruction`),d===`waiting`&&p===void 0&&r.nextAllowedAt===void 0&&E(n,w(t,`nextAllowedAt`),`waiting loop needs a next wake time`),i===void 0||a===void 0||s===void 0||c===void 0||l===void 0||u===void 0||d===void 0||f===void 0)return;let _={loopId:i,instruction:a,createdAt:s,expiresAt:c,revision:l,generation:u,phase:d,fallbackUsed:f};return O(_,`useDefaultPrompt`,o),O(_,`nextAllowedAt`,p),O(_,`delaySeconds`,m),O(_,`reason`,h),O(_,`terminalReason`,g),_}const bn=[`string`,`number`,`integer`,`boolean`,`array`,`object`,`null`],xn=[`type`,`description`,`enum`,`items`,`properties`,`required`,`anyOf`,`additionalProperties`,`minimum`,`maximum`,`pattern`,`format`,`default`];function Sn(e,t,n){if(typeof e==`string`||typeof e==`number`||typeof e==`boolean`)return e;E(n,t,`expected a string, number or boolean, received ${D(e)}`)}function Cn(e,t,n){return e===null?null:Sn(e,t,n)}function wn(e,t,n){return typeof e==`boolean`?e:U(e,t,n)}function U(e,t,n){let r=L(e,t,n,xn);if(r===void 0)return;let i={};return O(i,`type`,k(r.type,w(t,`type`),n,(e,t,n)=>P(e,bn,t,n))),O(i,`description`,k(r.description,w(t,`description`),n,A)),O(i,`enum`,k(r.enum,w(t,`enum`),n,(e,t,n)=>I(e,t,n,Sn))),O(i,`items`,k(r.items,w(t,`items`),n,U)),O(i,`properties`,k(r.properties,w(t,`properties`),n,(e,t,n)=>R(e,t,n,U))),O(i,`required`,k(r.required,w(t,`required`),n,it)),O(i,`anyOf`,k(r.anyOf,w(t,`anyOf`),n,(e,t,n)=>I(e,t,n,U))),O(i,`additionalProperties`,k(r.additionalProperties,w(t,`additionalProperties`),n,wn)),O(i,`minimum`,k(r.minimum,w(t,`minimum`),n,j)),O(i,`maximum`,k(r.maximum,w(t,`maximum`),n,j)),O(i,`pattern`,k(r.pattern,w(t,`pattern`),n,A)),O(i,`format`,k(r.format,w(t,`format`),n,A)),O(i,`default`,k(r.default,w(t,`default`),n,Cn)),i}function Tn(e,t,n){let r=U(e,t,n);if(r!==void 0){if(r.type!==`object`){E(n,w(t,`type`),`expected the root parameter schema to be type 'object'`);return}if(r.properties===void 0){E(n,w(t,`properties`),`expected the root parameter schema to name its properties`);return}return{...r,type:`object`,properties:r.properties}}}function En(e,t,n){let r=L(e,t,n,[`name`,`description`,`parameters`,`outputSchema`]);if(r===void 0)return;let i=A(r.name,w(t,`name`),n),a=A(r.description,w(t,`description`),n),o=Tn(r.parameters,w(t,`parameters`),n);if(i===void 0||a===void 0||o===void 0)return;let s={name:i,description:a,parameters:o};return O(s,`outputSchema`,k(r.outputSchema,w(t,`outputSchema`),n,U)),s}function W(e,t,n,r,i){return k(e[t],w(n,t),r,(e,t,n)=>I(e,t,n,i))}function Dn(e,t,n,r){for(let i of[`name`,`systemPrompt`,`sandboxSnapshotId`])O(e,i,k(t[i],w(n,i),r,A));O(e,`history`,W(t,`history`,n,r,mt)),O(e,`toolSchemas`,W(t,`toolSchemas`,n,r,En)),O(e,`backgroundTasks`,W(t,`backgroundTasks`,n,r,Rt)),O(e,`backgroundTaskEvents`,W(t,`backgroundTaskEvents`,n,r,Jt)),O(e,`backgroundJobGroups`,W(t,`backgroundJobGroups`,n,r,jt)),O(e,`backgroundJobGroupEvents`,W(t,`backgroundJobGroupEvents`,n,r,Mt)),O(e,`sessionLoops`,W(t,`sessionLoops`,n,r,yn)),O(e,`skillActivationEvents`,W(t,`skillActivationEvents`,n,r,nn)),O(e,`memoryEvents`,W(t,`memoryEvents`,n,r,an)),O(e,`usedMemoryReferences`,W(t,`usedMemoryReferences`,n,r,rn)),O(e,`contextReferences`,W(t,`contextReferences`,n,r,on)),O(e,`goal`,k(t.goal,w(n,`goal`),r,pn)),O(e,`plan`,k(t.plan,w(n,`plan`),r,hn)),O(e,`activeBranch`,k(t.activeBranch,w(n,`activeBranch`),r,gn))}const On=[`id`,`name`,`cwd`,`createdAt`,`updatedAt`,`messages`,`history`,`systemPrompt`,`toolSchemas`,`backgroundTasks`,`backgroundTaskEvents`,`backgroundJobGroups`,`backgroundJobGroupEvents`,`sessionLoops`,`skillActivationEvents`,`memoryEvents`,`usedMemoryReferences`,`contextReferences`,`sandboxSnapshotId`,`goal`,`plan`,`activeBranch`];function kn(e){let t=[],n=jn(e,``,t);return n===void 0||t.length>0?{status:`corrupt`,issues:t}:{status:`valid`,record:n}}function An(e){let t=[],n=L(e,``,t,[`schemaVersion`,`record`]);if(n===void 0)return{status:`corrupt`,issues:t};let r=n.schemaVersion;if(typeof r!=`number`||!Number.isFinite(r))return{status:`unsupported`,schemaVersion:void 0};if(r!==1)return{status:`unsupported`,schemaVersion:r};let i=jn(n.record,`record`,t);return i===void 0||t.length>0?{status:`corrupt`,issues:t}:{status:`valid`,record:i}}function jn(e,t,n){let r=L(e,t,n,On);if(r===void 0)return;let i=A(r.id,w(t,`id`),n),a=A(r.cwd,w(t,`cwd`),n),o=F(r.createdAt,w(t,`createdAt`),n),s=F(r.updatedAt,w(t,`updatedAt`),n),c=I(r.messages,w(t,`messages`),n,V);if(i===void 0||a===void 0||o===void 0||s===void 0||c===void 0)return;let l={id:i,cwd:a,createdAt:o,updatedAt:s,messages:c};return Dn(l,r,t,n),l}function Mn(e){try{return JSON.parse(e)}catch{throw Error(`Invalid session artifact: the bytes are not JSON.`)}}function Nn(e,t={}){let n={schemaVersion:1,record:t.redact?t.redact(e):e};return JSON.stringify(n,null,2)}function Pn(e){let t=An(Mn(e));if(t.status===`unsupported`)throw Error(`Unsupported session artifact schema version ${t.schemaVersion??`(absent or not a number)`} (this build reads 1).`);if(t.status===`corrupt`){let e=t.issues.slice(0,5),n=e.map(e=>`${e.path===``?`(root)`:e.path}: ${e.message}`).join(`; `),r=t.issues.length>e.length?` (+${t.issues.length-e.length} more)`:``;throw Error(`Invalid session artifact: ${n}${r}`)}return t.record}const Fn=/^(api[-_]?key|authorization|access[-_]?token|refresh[-_]?token|secret|password|x[-_]?api[-_]?key)$/i;function In(e){return Fn.test(e)}function Ln(e,t,n){if(e!==void 0&&In(e))return n;if(Array.isArray(t))return t.map(e=>Ln(void 0,e,n));if(typeof t==`object`&&t&&!(t instanceof Date)){let e=t,r={};for(let[t,i]of Object.entries(e))r[t]=Ln(t,i,n);return r}return t}function Rn(e,t=`[REDACTED]`){return Ln(void 0,e,t)}const zn={sessionInit:`session_init`,sessionShutdown:`session_shutdown`,sessionShutdownStepError:`session_shutdown_step_error`,context:`context`,contextCompact:`context_compact`,error:`error`,historyMutation:`history_mutation`,providerRequest:`provider_request`,providerNativeRawPayload:`provider_native_raw_payload`,providerStreamRawDelta:`provider_stream_raw_delta`,providerResponseRaw:`provider_response_raw`,providerResponseNormalized:`provider_response_normalized`,structuredOutputTransport:`structured_output_transport`,providerFallback:`provider_fallback`,assistantMessageCommitted:`assistant_message_committed`,toolExecutionRequest:`tool_execution_request`,toolExecutionResult:`tool_execution_result`,toolBatchStarted:`tool_batch_started`,toolMessageCommitted:`tool_message_committed`,backgroundTaskEvent:`background_task_event`,backgroundJobGroupEvent:`background_job_group_event`,memoryEvent:`memory_event`,user:`user`,preRun:`pre_run`,textDelta:`text_delta`,assistant:`assistant`,toolCall:`tool_call`,toolResult:`tool_result`,toolBlocked:`tool_blocked`,toolDenied:`tool_denied`,serverTool:`server_tool`};function Bn(e,t){return e.event===t}function Vn(e,t,n,r){let i={};for(let[a,o]of Object.entries(t))i[a]=Hn(e,a,o,n,r);return i}function Hn(e,t,n,r,i){if(In(t))return r.redactedValue;if(n==null||typeof n==`string`||typeof n==`number`)return Un(e,n,r,i);if(typeof n==`boolean`)return n;if(n instanceof Date)return n.toISOString();if(Array.isArray(n))return Un(e,n.map(n=>Hn(e,t,n,r,i)),r,i);if(typeof n==`object`){let t=n,a={};for(let[n,o]of Object.entries(t))a[n]=Hn(e,n,o,r,i);return Un(e,a,r,i)}return String(n)}function Un(e,t,r,i){let a=JSON.stringify(t);if(a===void 0||Buffer.byteLength(a)<=r.externalPayloadThresholdBytes||i===void 0)return t;let o=(0,n.createHash)(`sha256`).update(a).digest(`hex`);return i.writeJson(e,o,a)}const Wn=(0,e.createLogger)(`FileSessionLogger`),Gn=new Set([`text_delta`]),G=new Set;let Kn=!1;function qn(e){G.add(e),!Kn&&(typeof process>`u`||typeof process.on!=`function`||(Kn=!0,process.on(`exit`,()=>{for(let e of G)e.flush()})))}var Jn=class{sink;options;pending=new Map;pendingBytes=0;constructor(e,t={}){this.sink=e,this.options={externalPayloadThresholdBytes:t.externalPayloadThresholdBytes??32768,redactedValue:t.redactedValue??`[REDACTED]`}}log(e,t,n){if(Le(e))try{let r=Vn(e,n,this.options,this.sink.externalPayloadSink),i=JSON.stringify({...r,schemaVersion:1,timestamp:new Date().toISOString(),sessionId:e,event:t})+`
|
|
7
7
|
`;if(Gn.has(t)){this.buffer(e,i);return}this.flush(),this.write(e,i)}catch(n){this.report(e,t,n)}}flush(){if(this.pending.size===0){G.delete(this);return}let e=[...this.pending.entries()];this.pending.clear(),this.pendingBytes=0,G.delete(this);for(let[t,n]of e)try{this.write(t,n.join(``))}catch(e){this.report(t,`flush`,e)}}buffer(e,t){qn(this);let n=this.pending.get(e)??[];n.push(t),this.pending.set(e,n),this.pendingBytes+=t.length,this.pendingBytes>=65536&&this.flush()}write(e,t){this.sink.append(e,t)}report(e,t,n){Wn.warn(`session log write failed`,{sessionId:e,event:t,error:n instanceof Error?n.message:String(n)})}},Yn=class{log(){}};const Xn=(0,e.createLogger)(`NodeSessionLogSink`),Zn=/^[0-9a-f]{64}$/;function Qn(e,t){let r=(0,n.createHash)(`sha256`).update(t).digest(`hex`);if(!Zn.test(e)||e!==r)throw Error(`Invalid sha256: external JSON payloads require their exact content digest.`)}function $n(e,n,r){return S(e),Qn(n,r),{kind:`external-payload`,encoding:`json`,sha256:n,byteLength:Buffer.byteLength(r),relativePath:(0,t.join)(`${e}.payloads`,`${n}.json`)}}var er=class{logDirectory;externalPayloadSink=this;enabled;constructor(e){this.logDirectory=e;try{(0,a.ensureOwnerOnlyDirectory)(e),this.enabled=!0}catch(t){this.enabled=!1,Xn.warn(`session log directory could not be created — session logging is disabled`,{logDirectory:e,error:t instanceof Error?t.message:String(t)})}}append(e,n){if(S(e),!this.enabled)return;let r=(0,t.join)(this.logDirectory,`${e}.jsonl`);(0,a.tightenExistingFile)(r),(0,i.appendFileSync)(r,n,{mode:a.OWNER_ONLY_FILE_MODE})}writeJson(e,n,r){let o=$n(e,n,r),s=`${e}.payloads`;if(this.enabled){(0,a.ensureOwnerOnlyDirectory)((0,t.join)(this.logDirectory,s));let e=(0,t.join)(this.logDirectory,o.relativePath);try{(0,i.writeFileSync)(e,r,{encoding:`utf8`,mode:a.OWNER_ONLY_FILE_MODE,flag:`wx`})}catch(t){if(t.code!==`EEXIST`)throw t;(0,a.tightenExistingFile)(e)}}return o}};const K=e=>({decode:e}),q=e=>({decode:e,optional:!0}),tr=(e,t,n)=>I(e,t,n,A),nr=(e,t,n)=>I(e,t,n,V),rr=(e,t,n)=>I(e,t,n,En),ir=(e,t,n)=>typeof e==`string`?e:V(e,t,n),J=(e,t,n)=>{let r=M(e,t,n);return r!==void 0&&r<0&&n.push({path:t,message:`expected a non-negative integer`}),r};function ar(e){if(typeof e!=`object`||!e||Array.isArray(e))return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function Y(e,t,n){if(!ar(e)){n.push({path:t,message:`expected an object, received ${D(e)}`});return}for(let[r,i]of Object.entries(e))X(i,w(t,r),n);return e}const or=[`maxTokens`,`usedTokens`,`usedPercentage`,`remainingPercentage`];function sr(e,t,n){let r=L(e,t,n,or);if(r===void 0)return;let i=j(r.maxTokens,w(t,`maxTokens`),n),a=j(r.usedTokens,w(t,`usedTokens`),n),o=j(r.usedPercentage,w(t,`usedPercentage`),n),s=j(r.remainingPercentage,w(t,`remainingPercentage`),n);if(i!==void 0&&a!==void 0&&o!==void 0&&s!==void 0)return{maxTokens:i,usedTokens:a,usedPercentage:o,remainingPercentage:s}}const cr=(e,t,n)=>I(e,t,n,(e,t,n)=>{let r=L(e,t,n,[`type`,`id`]);if(r===void 0)return;let i=A(r.type,w(t,`type`),n),a=A(r.id,w(t,`id`),n);return i===void 0||a===void 0?void 0:{type:i,id:a}});function X(e,t,n,r=new WeakSet){if(e===null||typeof e==`string`||typeof e==`boolean`||typeof e==`number`&&Number.isFinite(e))return e;if(typeof e!=`object`||e instanceof Date){n.push({path:t,message:`expected a JSON-compatible value, received ${D(e)}`});return}if(!Array.isArray(e)&&!ar(e)){n.push({path:t,message:`expected a JSON-compatible object, received ${D(e)}`});return}if(r.has(e)){n.push({path:t,message:`expected an acyclic JSON-compatible value`});return}if(r.add(e),Array.isArray(e))for(let i=0;i<e.length;i++)X(e[i],T(t,i),n,r);else for(let[i,a]of Object.entries(e))X(a,w(t,i),n,r);return r.delete(e),e}function lr(e,t,n,r=new WeakSet){if(!(typeof e!=`object`||!e||e instanceof Date)){if(r.has(e)){n.push({path:t,message:`expected an acyclic value`});return}if(r.add(e),Array.isArray(e))for(let i=0;i<e.length;i++)Object.hasOwn(e,i)?lr(e[i],T(t,i),n,r):n.push({path:T(t,i),message:`expected an array element, received nothing`});else for(let[i,a]of Object.entries(e))lr(a,w(t,i),n,r);r.delete(e)}}const Z=(...e)=>(t,n,r)=>P(t,e,n,r),ur={session_init:{cwd:K(A),systemPromptLength:K(J),systemPrompt:K(A),toolSchemas:K(rr),model:K(A),provider:K(A)},session_shutdown:{reason:K(A)},session_shutdown_step_error:{step:K(A),error:K(A)},context:{maxTokens:K(j),usedTokens:K(j),usedPercentage:K(j),remainingPercentage:K(j)},context_compact:{trigger:K(A),before:K(sr),after:K(sr)},error:{message:K(A),stack:K(A),historyLength:K(J)},history_mutation:{executionId:q(A),conversationId:q(A),round:q(J),batchId:q(A),usageObservationId:q(A),providerId:q(A),modelId:q(A),providerError:q(N),contextOverflow:q(N),mutation:K(Z(`append_message`)),index:K(J),message:K(V)},provider_request:{executionId:K(A),conversationId:q(A),round:K(J),provider:K(A),model:K(A),effort:q(A),forcedSummary:q(N),messages:K(nr),tools:q(rr)},provider_native_raw_payload:{executionId:K(A),conversationId:q(A),round:K(J),provider:K(A),apiSurface:q(A),payloadKind:K(Z(`request`,`response`,`stream_event`)),sequence:K(J),payload:q(X),metadata:q(Y)},provider_stream_raw_delta:{executionId:K(A),conversationId:q(A),round:K(J),sequence:K(J),delta:K(A)},provider_response_raw:{executionId:K(A),conversationId:q(A),round:K(J),effort:q(A),response:K(V),responseKind:K(A)},provider_response_normalized:{executionId:K(A),conversationId:q(A),round:K(J),response:K(V),toolCallsCount:q(J)},structured_output_transport:{executionId:K(A),conversationId:q(A),round:K(J),provider:K(A),model:K(A),mechanism:K(Z(`response_schema`,`json_object`,`none`)),provenance:K(Z(`catalog`,`vendor-default`,`undeclared`,`unverified-endpoint`)),sent:K(N),schemaInPrompt:K(N),reason:q(A)},provider_fallback:{executionId:K(A),conversationId:q(A),round:K(J),fromProvider:K(A),fromModel:K(A),toProvider:K(A),toModel:K(A),reason:K(A)},assistant_message_committed:{executionId:K(A),conversationId:q(A),round:K(J),message:K(ir)},tool_execution_request:{executionId:K(A),conversationId:q(A),round:K(J),batchId:q(A),index:q(J),toolName:K(A),toolCallId:K(A),parameters:K(Y),ownerPath:q(cr)},tool_execution_result:{executionId:K(A),conversationId:q(A),round:K(J),batchId:q(A),index:q(J),toolName:q(A),toolCallId:q(A),success:K(N),result:q(X),error:q(A),metadata:q(Y)},tool_batch_started:{executionId:K(A),conversationId:q(A),round:K(J),batchId:q(A),mode:K(Z(`parallel`,`sequential`)),maxConcurrency:K(J),requestCount:K(J),tools:K(tr)},tool_message_committed:{executionId:K(A),conversationId:q(A),round:K(J),batchId:q(A),index:q(J),message:K(V)},background_task_event:{backgroundEventType:q(A),backgroundEvent:q(Jt),data:q(Jt),taskId:q(A),originToolCallId:q(A)},background_job_group_event:{backgroundJobGroupEvent:q(Mt),data:q(Mt)},memory_event:{memoryEvent:q(an),data:q(an)},user:{content:K(A)},pre_run:{historyLength:K(J),historyChars:K(J),historyEstTokens:K(J),input:K(A),history:K(nr),model:K(A),provider:K(A),maxTokens:K(j),nativeWebSearchSupported:K(N),nativeWebSearchEnabled:K(N),nativeWebFetchSupported:K(N),nativeWebFetchEnabled:K(N)},text_delta:{delta:K(A)},assistant:{content:K(A),historyLength:K(J),estimatedChars:K(J),history:K(nr),historyStructure:K((e,t,n)=>I(e,t,n,(e,t,n)=>{if(typeof e!=`object`||!e||Array.isArray(e)){n.push({path:t,message:`expected an object, received ${D(e)}`});return}let r=e;P(r.role,[`user`,`assistant`,`system`,`tool`],w(t,`role`),n),J(r.contentLength,w(t,`contentLength`),n),N(r.hasToolCalls,w(t,`hasToolCalls`),n),tr(r.toolCallNames,w(t,`toolCallNames`),n),r.metadata!==void 0&&Y(r.metadata,w(t,`metadata`),n);for(let e of Object.keys(r))[`role`,`contentLength`,`hasToolCalls`,`toolCallNames`,`metadata`].includes(e)||n.push({path:w(t,e),message:`unknown history structure field`});return r}))},tool_call:{tool:K(A),args:K(Y)},tool_result:{tool:K(A),success:K(N),dataChars:K(J),truncated:K(N)},tool_blocked:{tool:K(A),reason:K(A)},tool_denied:{tool:K(A),reason:K(A)},server_tool:{tool:K(A)}};var dr=class extends Error{code;issues;schemaVersion;constructor(e,t,n={}){super(`Session log decode failed: ${e}${t[0]?` at ${t[0].path}: ${t[0].message}`:``}`,{cause:n.cause}),this.name=`SessionLogDecodeError`,this.code=e,this.issues=t,n.schemaVersion!==void 0&&(this.schemaVersion=n.schemaVersion)}};const fr=new Set(Object.values(zn));function pr(e,t={}){if(!Array.isArray(e))throw new dr(`INVALID_EVENT`,[{path:`entries`,message:`expected an array, received ${D(e)}`}]);let n=[],r=[],i;for(let[a,o]of e.entries()){let e=mr(o,t.lineNumbers?.[a]===void 0?`[${a}]`:`line ${t.lineNumbers[a]}`,n);e.entry!==void 0&&r.push(e.entry),i??=e.unsupported}if(n.length>0)throw new dr(i===void 0?`INVALID_EVENT`:`UNSUPPORTED_VERSION`,n,{schemaVersion:i});return r}function mr(e,t,n){if(!ar(e))return n.push({path:t,message:`expected an object, received ${D(e)}`}),{};let r=n.length;if(lr(e,t,n),n.length!==r)return{};let i=hr(e,t,n);return i.event===void 0?{unsupported:i.unsupported}:(gr(e,i.event,t,i.output,n),{entry:i.output,unsupported:i.unsupported})}function hr(e,t,n){let r={schemaVersion:1},i;if(e.schemaVersion!==1){let r=e.schemaVersion;typeof r==`number`&&Number.isSafeInteger(r)&&r>=0?(i=r,n.push({path:w(t,`schemaVersion`),message:`unsupported schema version`})):n.push({path:w(t,`schemaVersion`),message:`expected schema version 1, received ${D(r)}`})}let a=F(e.timestamp,w(t,`timestamp`),n);a!==void 0&&(r.timestamp=a);let o=A(e.sessionId,w(t,`sessionId`),n);o===``&&n.push({path:w(t,`sessionId`),message:`expected a non-empty session ID`}),o!==void 0&&(r.sessionId=o);let s=e.event;return typeof s!=`string`||!fr.has(s)?(n.push({path:w(t,`event`),message:`expected a declared event name, received ${D(s)}`}),{output:r,unsupported:i}):(r.event=s,{output:r,event:s,unsupported:i})}function gr(e,t,n,r,i){let a=ur[t];for(let[t,o]of Object.entries(a)){if(!Object.hasOwn(e,t)&&o.optional)continue;let a=o.decode(e[t],w(n,t),i);a!==void 0&&(r[t]=a)}for(let o of Object.keys(e)){if([`schemaVersion`,`timestamp`,`sessionId`,`event`,...Object.keys(a)].includes(o))continue;if(t!==`server_tool`){i.push({path:w(n,o),message:`unknown event payload field`});continue}let s=X(e[o],w(n,o),i);s!==void 0&&(r[o]=s)}_r(e,t,n,i)}function _r(e,t,n,r){t===`background_task_event`&&e.backgroundEvent===void 0&&e.data===void 0&&r.push({path:n,message:`expected a background task event payload`}),t===`background_job_group_event`&&e.backgroundJobGroupEvent===void 0&&e.data===void 0&&r.push({path:n,message:`expected a background job group event payload`}),t===`memory_event`&&e.memoryEvent===void 0&&e.data===void 0&&r.push({path:n,message:`expected a memory event payload`})}var Q=class extends Error{code;metadata;constructor(e,t,n={},r){super(t,r===void 0?void 0:{cause:r}),this.name=`SessionLogPayloadResolutionError`,this.code=e,this.metadata=n}};function vr(e){if(e.trim().length===0||e.includes(`\0`)||(0,t.isAbsolute)(e)||t.win32.isAbsolute(e))throw br(e);let n=e.split(/[\\/]+/u);if(n.some(e=>e===`.`||e===`..`))throw br(e);return n}function yr(e){if(!Number.isFinite(e)||!Number.isSafeInteger(e)||e<0)throw new Q(`INVALID_LIMIT`,`External-payload maxBytes must be a finite, non-negative safe integer.`,{actual:String(e)})}function br(e,t){return new Q(`OUTSIDE_ROOT`,`External payload path escapes its base directory or contains a link: ${e}.`,{relativePath:e},t)}function xr(e,t,n){return e.code===`INVALID_PATH`||e.code===`UNSAFE_ENTRY`?br(t,e):e.code===`UNSUPPORTED_BACKEND`?new Q(`STABLE_PAYLOAD_READ_UNAVAILABLE`,`Stable root-relative external-payload reads are unavailable on this host.`,{relativePath:t},e):e.code===`OVER_BUDGET`?new Q(`MAX_TOTAL_BYTES_EXCEEDED`,`External payload exceeds the remaining byte budget of ${n}.`,{relativePath:t,expected:n},e):new Q(`PAYLOAD_UNREADABLE`,`External payload could not be read: ${t}.`,{relativePath:t},e)}var Sr=class{baseDirectory;constructor(e){if(e.trim().length===0)throw Error(`External-payload base directory must not be empty.`);this.baseDirectory=(0,t.resolve)(e)}readBytes(e,t){yr(t);let n=vr(e);try{let e=(0,o.createStableRootedFileReader)(this.baseDirectory);try{return e.readBytes(n,t)}finally{e.close()}}catch(n){throw n instanceof Q?n:n instanceof o.StableFileAuthorityError?xr(n,e,t):new Q(`PAYLOAD_UNREADABLE`,`External payload could not be read: ${e}.`,{relativePath:e},n)}}},Cr=class{logFile;externalPayloadSource;constructor(e){if(this.logFile=e,e.trim().length===0)throw Error(`Session log-file path must not be empty.`);this.externalPayloadSource=new Sr((0,t.dirname)(e))}readText(){return(0,i.existsSync)(this.logFile)?(0,i.readFileSync)(this.logFile,`utf8`):void 0}};const wr=/^tool-result:([A-Za-z0-9_-]{22,64})$/u,Tr=8*1024*1024,Er=i.constants.O_WRONLY|i.constants.O_CREAT|i.constants.O_EXCL|(i.constants.O_NOFOLLOW??0);var $=class extends Error{code;constructor(e){super(`Tool result spill failed (${e})`),this.code=e,this.name=`ToolResultSpillError`}},Dr=class{directory;retentionMs;now;onCleanupFailure;entries=new Map;expiryTimer;closed=!1;constructor(e={}){let n=e.parentDirectory??(0,r.tmpdir)();if(this.retentionMs=e.retentionMs??36e5,this.now=e.now??Date.now,this.onCleanupFailure=e.onCleanupFailure,!Number.isSafeInteger(this.retentionMs)||this.retentionMs<=0)throw new $(`invalid-options`);try{let e=(0,i.lstatSync)(n);if(!e.isDirectory()||e.isSymbolicLink())throw Error(`unsafe parent`);this.directory=(0,i.mkdtempSync)((0,t.join)(n,`agent-tool-results-`)),process.platform!==`win32`&&(0,i.chmodSync)(this.directory,448),this.assertRoot()}catch{throw new $(`unsafe-root`)}}assertRoot(){try{let e=(0,i.lstatSync)(this.directory);if(!e.isDirectory()||e.isSymbolicLink())throw Error(`unsafe directory`);if(process.platform!==`win32`&&e.mode&63)throw Error(`directory is not owner-only`)}catch{throw new $(`unsafe-root`)}}scheduleExpiry(e=1){if(this.expiryTimer!==void 0&&clearTimeout(this.expiryTimer),this.expiryTimer=void 0,this.closed||this.entries.size===0)return;let t=1/0;for(let e of this.entries.values())e.expiresAt<t&&(t=e.expiresAt);let n=Math.min(2147483647,Math.max(e,t-this.now()));this.expiryTimer=setTimeout(()=>{this.expiryTimer=void 0,this.cleanupExpired().catch(()=>{try{this.onCleanupFailure?this.onCleanupFailure(`cleanup-failed`):process.emitWarning(`Tool result spill expiry cleanup failed (cleanup-failed)`)}catch{process.emitWarning(`Tool result spill expiry cleanup failed (cleanup-failed)`)}this.scheduleExpiry(6e4)})},n),this.expiryTimer.unref?.()}async write(e){if(this.closed)throw new $(`closed`);if(await this.cleanupExpired(),this.assertRoot(),Buffer.byteLength(e,`utf8`)>Tr)throw new $(`write-failed`);let r=(0,n.randomBytes)(18).toString(`base64url`),a=`${(0,n.randomBytes)(18).toString(`base64url`)}.partial`,o=`${r}.txt`,s=(0,t.join)(this.directory,a),c=(0,t.join)(this.directory,o),l,u=!1;try{l=(0,i.openSync)(s,Er,384),(0,i.writeFileSync)(l,e,`utf8`),(0,i.fsyncSync)(l),(0,i.closeSync)(l),l=void 0,(0,i.linkSync)(s,c),u=!0,(0,i.unlinkSync)(s);let t=`tool-result:${r}`;return this.entries.set(t,{fileName:o,expiresAt:this.now()+this.retentionMs}),this.scheduleExpiry(),{reference:t}}catch{let e=!1;if(l!==void 0)try{(0,i.closeSync)(l)}catch{e=!0}try{(0,i.unlinkSync)(s)}catch(t){t.code!==`ENOENT`&&(e=!0)}if(u)try{(0,i.unlinkSync)(c)}catch{e=!0}throw new $(e?`cleanup-failed`:`write-failed`)}}async read(e){if(this.closed)throw new $(`closed`);if(!wr.test(e))throw new $(`invalid-reference`);let t=this.entries.get(e);if(!t)throw new $(`missing`);if(this.now()>=t.expiresAt)throw this.removeEntry(e,t),this.scheduleExpiry(),new $(`expired`);this.assertRoot();try{let e=new Sr(this.directory).readBytes(t.fileName,Tr);if(e===void 0)throw new $(`missing`);return Buffer.from(e).toString(`utf8`)}catch(e){throw e instanceof $?e:new $(`read-failed`)}}removeEntry(e,n){this.assertRoot();try{(0,i.unlinkSync)((0,t.join)(this.directory,n.fileName)),this.entries.delete(e)}catch{throw new $(`cleanup-failed`)}}async cleanupExpired(){if(this.closed)throw new $(`closed`);for(let[e,t]of this.entries)this.now()>=t.expiresAt&&this.removeEntry(e,t);this.scheduleExpiry()}async shutdown(){if(!this.closed){this.expiryTimer!==void 0&&clearTimeout(this.expiryTimer),this.expiryTimer=void 0;for(let[e,t]of this.entries)this.removeEntry(e,t);this.assertRoot();try{if((0,i.readdirSync)(this.directory).length!==0)throw Error(`unexpected files`);(0,i.rmdirSync)(this.directory),this.closed=!0}catch{throw new $(`cleanup-failed`)}}}};function Or(e){if(typeof e!=`object`||!e||Array.isArray(e))return!1;let t=e;return typeof t.at==`string`&&typeof t.sessionId==`string`&&typeof t.project==`string`&&typeof t.text==`string`}function kr(e){if(e.trim().length===0)return;let t;try{t=JSON.parse(e)}catch{return}if(Or(t))return{at:t.at,sessionId:t.sessionId,project:t.project,text:t.text}}function Ar(e){let t=[],n=0;for(let r of e){if(r.length===0)continue;let e=kr(r);e===void 0?n+=1:t.push(e)}return{entries:t,skippedLines:n}}function jr(e){return e.code===`ENOENT`}var Mr=class{path;blockBytes;ownedRoot;constructor(e,t={}){this.path=e,this.blockBytes=t.blockBytes??65536,this.ownedRoot=t.ownedRoot}append(e){(0,a.ensureOwnerOnlyDirectory)((0,t.dirname)(this.path),this.ownedRoot===void 0?{}:{withinRoot:this.ownedRoot}),(0,a.tightenExistingFile)(this.path),(0,i.appendFileSync)(this.path,`${JSON.stringify(e)}\n`,{mode:a.OWNER_ONLY_FILE_MODE})}async*read(e){let t;try{t=(0,i.openSync)(this.path,i.constants.O_RDONLY|(i.constants.O_NOFOLLOW??0))}catch(e){if(e instanceof Error&&jr(e))return;throw e}try{let n=(0,i.fstatSync)(t).size,r=Buffer.alloc(0);for(;n>0&&!e.signal.aborted;){let e=Math.min(this.blockBytes,n);n-=e;let a=Buffer.alloc(e),o=(0,i.readSync)(t,a,0,e,n),s=Buffer.concat([a.subarray(0,o),r]),c=n===0?-1:s.indexOf(10);r=c===-1&&n>0?s:s.subarray(0,c+1);let l=n===0?s:c===-1?Buffer.alloc(0):s.subarray(c+1);n>0&&c===-1||(yield Ar(l.toString(`utf8`).split(`
|
|
8
8
|
`).reverse()))}}finally{(0,i.closeSync)(t)}}};const Nr=/^[0-9a-f]{64}$/i;function Pr(e){if(!Fr(e))throw new Q(`INVALID_REFERENCE`,`External payload reference has an invalid shape.`);return{kind:`external-payload`,encoding:`json`,sha256:String(e.sha256).toLowerCase(),byteLength:Number(e.byteLength),relativePath:String(e.relativePath)}}function Fr(e){let t=Object.keys(e).sort(),n=[`byteLength`,`encoding`,`kind`,`relativePath`,`sha256`];return t.length===n.length&&t.every((e,t)=>e===n[t])&&e.kind===`external-payload`&&e.encoding===`json`&&typeof e.sha256==`string`&&Nr.test(e.sha256)&&typeof e.byteLength==`number`&&Number.isSafeInteger(e.byteLength)&&e.byteLength>=0&&typeof e.relativePath==`string`&&e.relativePath.trim().length>0}function Ir(e,t){return zr(e,Lr(t),0)}function Lr(e){let t=Rr(`maxDepth`,e.maxDepth??32),n=Rr(`maxTotalBytes`,e.maxTotalBytes??67108864);return{source:e.source,maxDepth:t,maxTotalBytes:n,totalBytes:0,activePayloadPaths:new Set,activeObjects:new WeakSet}}function Rr(e,t){if(!Number.isFinite(t)||!Number.isSafeInteger(t)||t<0)throw new Q(`INVALID_LIMIT`,`${e} must be a finite, non-negative safe integer.`,{actual:String(t)});return t}function zr(e,t,n){if(e===null||typeof e==`string`||typeof e==`boolean`||typeof e==`number`&&Number.isFinite(e))return e;if(typeof e==`number`)throw Hr(`Non-finite numbers are not valid session-log JSON values.`);if(typeof e!=`object`)throw Hr(`Unsupported session-log JSON value type: ${typeof e}.`);if(t.activeObjects.has(e))throw new Q(`CIRCULAR_REFERENCE`,`Circular in-memory value encountered while resolving external payloads.`,{depth:n});if(Ur(e))return Br(e,t,n);if(Array.isArray(e)){t.activeObjects.add(e);try{return e.map(e=>zr(e,t,n))}finally{t.activeObjects.delete(e)}}if(!Wr(e))throw Hr(`Session-log payload objects must be plain JSON records.`);t.activeObjects.add(e);try{return Object.fromEntries(Object.entries(e).map(([e,r])=>[e,zr(r,t,n)]))}finally{t.activeObjects.delete(e)}}function Br(e,t,n){let r=Pr(e);if(n>=t.maxDepth)throw new Q(`MAX_DEPTH_EXCEEDED`,`External-payload reference depth exceeds the configured maximum of ${t.maxDepth}.`,{relativePath:r.relativePath,depth:n});if(t.source===void 0)throw new Q(`UNRESOLVED_REFERENCE`,`An external session-log payload requires an explicit payload source.`,{relativePath:r.relativePath,depth:n});if(t.activePayloadPaths.has(r.relativePath))throw new Q(`CIRCULAR_REFERENCE`,`External payload ${r.relativePath} recursively references an active payload.`,{relativePath:r.relativePath,depth:n});let i=Vr(r,t);t.activePayloadPaths.add(r.relativePath);try{return zr(i,t,n+1)}finally{t.activePayloadPaths.delete(r.relativePath)}}function Vr(e,t){let r=t.maxTotalBytes-t.totalBytes,i=t.source?.readBytes(e.relativePath,r);if(i===void 0)throw new Q(`PAYLOAD_NOT_FOUND`,`External payload was not found: ${e.relativePath}.`,{relativePath:e.relativePath});let a=t.totalBytes+i.byteLength;if(!Number.isSafeInteger(a)||a>t.maxTotalBytes)throw new Q(`MAX_TOTAL_BYTES_EXCEEDED`,`External-payload bytes exceed the configured maximum of ${t.maxTotalBytes}.`,{expected:t.maxTotalBytes,actual:a});if(t.totalBytes=a,i.byteLength!==e.byteLength)throw new Q(`BYTE_LENGTH_MISMATCH`,`External payload byte length does not match its reference: ${e.relativePath}.`,{relativePath:e.relativePath,expected:e.byteLength,actual:i.byteLength});let o=(0,n.createHash)(`sha256`).update(i).digest(`hex`);if(o!==e.sha256)throw new Q(`SHA256_MISMATCH`,`External payload sha256 does not match its reference: ${e.relativePath}.`,{relativePath:e.relativePath,expected:e.sha256,actual:o});try{return JSON.parse(Buffer.from(i).toString(`utf8`))}catch(t){throw new Q(`INVALID_JSON`,`External payload is not valid JSON: ${e.relativePath}.`,{relativePath:e.relativePath},t)}}function Hr(e){return new Q(`INVALID_JSON`,e)}function Ur(e){return!Array.isArray(e)&&`kind`in e&&e.kind===`external-payload`}function Wr(e){let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function Gr(e){let t=[],n=Kr(),r=qr();return pr(e).forEach((e,i)=>{ti(e,i,t),Yr(e,i,t),Jr(n,e,i),Xr(r,e,i)}),Zr(n,t),Qr(r,t),{ok:t.length===0,issues:t}}function Kr(){return{requests:new Map,nativeRawPayloads:new Set,rawResponses:new Set,normalizedResponses:new Set}}function qr(){return{requests:new Map,results:new Set}}function Jr(e,t,n){let r=$r(t);r&&(t.event===`provider_request`&&e.requests.set(r.key,{executionId:r.executionId,round:r.round,index:n}),t.event===`provider_response_raw`&&e.rawResponses.add(r.key),t.event===`provider_native_raw_payload`&&(t.payloadKind===`response`||t.payloadKind===`stream_event`)&&e.nativeRawPayloads.add(r.key),t.event===`provider_response_normalized`&&!ni(t.response)&&e.normalizedResponses.add(r.key))}function Yr(e,t,n){ni(e.event===`history_mutation`?e.message:e.event===`provider_response_normalized`?e.response:void 0)&&n.push({code:`UNRESOLVED_REPLAY_PAYLOAD`,message:`Replay substrate ${e.event} contains an unresolved external payload.`,eventIndex:t,executionId:typeof e.executionId==`string`?e.executionId:void 0,round:typeof e.round==`number`?e.round:void 0})}function Xr(e,t,n){let r=ei(t);r&&(t.event===`tool_execution_request`&&e.requests.set(r.key,{executionId:r.executionId,toolCallId:r.toolCallId,index:n}),t.event===`tool_execution_result`&&e.results.add(r.key))}function Zr(e,t){for(let[n,r]of e.requests)e.nativeRawPayloads.has(n)||t.push({code:`PROVIDER_NATIVE_RAW_PAYLOAD_MISSING`,message:`Provider request ${n} has no provider-native raw response or stream payload event.`,eventIndex:r.index,executionId:r.executionId,round:r.round}),e.rawResponses.has(n)||t.push({code:`PROVIDER_RESPONSE_RAW_MISSING`,message:`Provider request ${n} has no raw response event.`,eventIndex:r.index,executionId:r.executionId,round:r.round}),e.normalizedResponses.has(n)||t.push({code:`PROVIDER_RESPONSE_NORMALIZED_MISSING`,message:`Provider request ${n} has no normalized response event.`,eventIndex:r.index,executionId:r.executionId,round:r.round})}function Qr(e,t){for(let[n,r]of e.requests)e.results.has(n)||t.push({code:`TOOL_RESULT_MISSING`,message:`Tool request ${n} has no terminal result event.`,eventIndex:r.index,executionId:r.executionId,toolCallId:r.toolCallId})}function $r(e){if(typeof e.executionId!=`string`)return;let t=typeof e.round==`number`?e.round:Number(e.round);if(Number.isFinite(t))return{key:`${e.executionId}:${t}`,executionId:e.executionId,round:t}}function ei(e){if(typeof e.executionId!=`string`)return;let t=typeof e.toolCallId==`string`?e.toolCallId:typeof e.toolExecutionId==`string`?e.toolExecutionId:void 0;if(t)return{key:`${e.executionId}:${t}`,executionId:e.executionId,toolCallId:t}}function ti(e,t,n){if(Array.isArray(e)){e.forEach(e=>ti(e,t,n));return}if(ri(e)){if(e.kind===`external-payload`){Fr(e)||n.push({code:`PAYLOAD_REFERENCE_INVALID`,message:`External payload reference is missing required replay fields.`,eventIndex:t});return}Object.values(e).forEach(e=>ti(e,t,n))}}function ni(e){return Array.isArray(e)?e.some(e=>ni(e)):ri(e)?e.kind===`external-payload`||Object.values(e).some(e=>ni(e)):!1}function ri(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function ii(e,t={}){let n=e.readText(),r=[];return n!==void 0&&n.split(`
|
package/dist/node/index.d.cts
CHANGED
|
@@ -856,6 +856,8 @@ interface ISessionRunOptions {
|
|
|
856
856
|
* Never an authorization input (issue #1809).
|
|
857
857
|
*/
|
|
858
858
|
driverId?: string;
|
|
859
|
+
/** Where this turn came from, stored beside `driverId` on the user message. Display only. */
|
|
860
|
+
turnSource?: string;
|
|
859
861
|
/** Run-scoped model tool directive; 'none' remains in force for this turn only. */
|
|
860
862
|
toolChoice?: TToolChoice;
|
|
861
863
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.cts","names":[],"sources":["../../src/turn-claim.ts","../../src/context-window-tracker.ts","../../src/auto-mode-gate.ts","../../src/session-log-reference-types.ts","../../src/session-log-sinks.ts","../../src/session-logger.ts","../../src/permission-types.ts","../../src/permission-denial-log.ts","../../src/permission-enforcer.ts","../../src/session-base.ts","../../src/session-types.ts","../../src/session.ts","../../src/consent-scope.ts","../../src/compaction-orchestrator.ts","../../src/conversation-transcript.ts","../../src/session-artifact.ts","../../src/scrub-sensitive.ts","../../src/session-log-events.ts","../../src/session-log-entry-types.ts","../../src/session-log-codec/index.ts","../../src/external-payload-source-types.ts","../../src/session-log-sources.ts","../../src/tool-result-spill-store.ts","../../src/prompt-history-file.ts","../../src/external-payload-resolution-contracts.ts","../../src/external-payload-resolver.ts","../../src/session-log-validation.ts","../../src/session-log-replay.ts","../../src/session-id.ts","../../src/session-store.ts","../../src/checkpoint-tree.ts","../../src/session-record-codec/decode-outcome.ts","../../src/session-record-codec/record-decoder.ts"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.cts","names":[],"sources":["../../src/turn-claim.ts","../../src/context-window-tracker.ts","../../src/auto-mode-gate.ts","../../src/session-log-reference-types.ts","../../src/session-log-sinks.ts","../../src/session-logger.ts","../../src/permission-types.ts","../../src/permission-denial-log.ts","../../src/permission-enforcer.ts","../../src/session-base.ts","../../src/session-types.ts","../../src/session.ts","../../src/consent-scope.ts","../../src/compaction-orchestrator.ts","../../src/conversation-transcript.ts","../../src/session-artifact.ts","../../src/scrub-sensitive.ts","../../src/session-log-events.ts","../../src/session-log-entry-types.ts","../../src/session-log-codec/index.ts","../../src/external-payload-source-types.ts","../../src/session-log-sources.ts","../../src/tool-result-spill-store.ts","../../src/prompt-history-file.ts","../../src/external-payload-resolution-contracts.ts","../../src/external-payload-resolver.ts","../../src/session-log-validation.ts","../../src/session-log-replay.ts","../../src/session-id.ts","../../src/session-store.ts","../../src/checkpoint-tree.ts","../../src/session-record-codec/decode-outcome.ts","../../src/session-record-codec/record-decoder.ts"],"mappings":";;;;;;;;;;;cAQa,yBAAyB;;WAE3B;EAEG,YAAA;;;;;;;;;;;;;;;;;;;;;cAyBD;UACH;;;;;;;;;;EAWR,SAAS;;;;;;;;EAkBT,QAAQ,YAAY;;;;;;;;;;;;;;;EAoBpB;EAIA;;;;;cC7EW;KAED;cAEC;UACH;mBACS;UACT;EAGN,YAAA,eACA,2BACA,uBAAuB;;EAOzB,mBAAmB;;EAcnB;;EAQA,2BAA2B;;EAK3B,wBAAwB,sBAAsB;;;;;;;;;;EAa9C,kBAAkB,SAAS;;EAK3B;;;;;UC/De;WACN;WACA,UAAU;WACV;;UAGM;WACN;;WAEA;;;;;;;UAQM;EACf,SAAS,MAAM,iBAAiB,SAAS,cAAc,QAAQ;;;cAIpD;cACA;;KAGD;WACG;;WACA;WAAwB;WAAyB;;WACjD;WAA2B;WAAyB;;cAMtD;mBAOkB;UANrB;UACA;UACA;;mBAES;EAEY,YAAA,YAAY;;EAGzC;;EAKA;;EAMA,WAAW,kBAAkB,UAAU;;EAKvC,UAAU,kBAAkB,UAAU;EAIhC,MAAM,MAAM,iBAAiB,SAAS,cAAc,QAAQ;;;;;;;;;;;UCzEnD;EACf;EACA;EACA;EACA;EACA;;;KAIU;KACA,kBAAkB,eAAe;UAE5B;EACf;EACA;;;;;iBCKc,yCACd,mBACA,gBACA,qBACC;;UAac;EACf,UAAU,mBAAmB,gBAAgB,qBAAqB;;;UAInD;EACf,OAAO,mBAAmB;WACjB,sBAAsB;;;cAIpB,8BAA8B,iBAAiB;mBAI7B;WAHpB,qBAAqB;mBACb;EAEY,YAAA;EAqB7B,OAAO,mBAAmB;EAW1B,UAAU,mBAAmB,gBAAgB,qBAAqB;;;;;;;;;;UCZnD;;EAEf,IAAI,mBAAmB,eAAe,MAAM;;;;;;;EAO5C;;;;;;;;cASW,6BAA6B;mBAOrB;mBANF;;mBAEA;UACT;EAGW,YAAA,MAAM,iBACvB,UAAS;EASX,IAAI,mBAAmB,eAAe,MAAM;;EAuC5C;UAkBQ;UAaA;UAIA;;cASG,+BAA+B;EAC1C;;;;;UClLe;;;;;EAKf,aAAa,kBAAkB;;;;;;;;;;;;;KAcrB,oBAAoB;;;;;KAMpB,sBACV,kBACA,UAAU,cACP,QAAQ;UAEI;EACf;EACA;EACA,yBAAyB;EACzB;;IAEE;MAAe;MAAiB;MAAgB;;IAChD,QAAQ;;;;;;EAMV,iBAAiB;;EAEjB;;;;;;;;;;EAUA;IAA0B;IAA0B;;EACpD,UAAU;EACV,oBAAoB;EACpB,uBACE,UAAU,iBACV,kBACA,UAAU,cACP,QAAQ;EACb,gBAAgB;EAChB,mBAAmB;IACjB;IACA;IACA,WAAW;IACX;IACA;IACA;IACA;;;EAGF,oBAAoB;;EAEpB;;EAEA,sBAAsB;;;;;;EAMtB,mBAAmB;;;;;EAKnB;IAAoB;IAA2B;;;;;;EAK/C,uBAAuB;;;;;;;;;;;KC9Fb;UAEK;WACN;;WAEA;WACA,QAAQ;;WAER;;WAEA;;;;cCqDE;mBACM;mBACA;mBACA;mBACA;mBACA;mBACA;mBACA;mBACA;mBACA;mBACA;mBACA;;;;;mBAKA;;mBAEA;mBACA;mBACA;mBACA;mBACA;mBACA;mBACA;mBACA;;UAET;mBACS;EAEL,YAAA,SAAS;;;;;EAqCrB,UAAU;;EAKV;;EAKA;;;;;EAQA,mBAAmB,gBAAgB;;UAW3B;;;;;;EAqBR,cAAc;;;;;UAeN;;EAgBR,UAAU,OAAO,0BAA0B;;EAwB3C;;EAKA,6BAA6B;;EAK7B;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+BA;IACE;IACA;IACA;;EASF,qBAAqB;IACnB;IACA;;;;EAeI,gBACJ,kBACA,UAAU,WACV,SAAS,aACT,cAAa,gDACb,eAAe,wCACd;;;;;;;EAYG,uBACJ,kBACA,gBAAgB,iBAChB,SAAS,cACR;;UA0BW;UAoEA;;;;;;UAqCA;;;;;;UA+CN;;UA8BA;;UASA;;;;uBChiBY;8BACQ,OAAO;8BACP,oBAAoB;8BACpB,gBAAgB;qBACzB,gBAAgB;qBAChB;qBACA;8BACS;8BACA,YAAY;8BACZ,aAAa;qBACtB;qBACA;qBACA;;qBAEA;YAEV,YAAa;;;;;;qBAQH,WAAS;mBACX;EAEjB,qBAAqB;;EAKrB,kBAAkB,MAAM;;EAMxB,uBAAuB,QAAQ,MAAM;;EAMrC;;;;;;EASA,kBAAkB;;EAKlB;;EAKA,4BAA4B;EAI5B;;;;;;;;EAWA;EAIA;;;;;;;;;EAYA,oBAAoB;;;;;;;;EAYd,kBAAkB;IACtB;IACA,SAAS;IACT;IACA;MACE;;EAmBJ,kBAAkB;;EAiBZ,sBAAsB,GAAG,QAAQ,cAAc,iBAAiB,QAAQ,KAAK,QAAQ;;;;;;;;;;;EAoBrF,eAAe,eAAe;EAIpC,kBAAkB;EAIlB;;;;;;;;;;EAaA,qBAAqB;IACnB;IACA;;;;;;;EAUF;IAAwB;IAAiB;IAAgB;;EAKzD;;;;;;;EAUA,oBACE,kBACA,gBAAgB,iBAChB,SAAS,cACR;;YAKO,qBAAqB,MAAM;;;;;;EAWrC,sBAAsB,gBAAgB;;EAKtC,uCAAuC;EAIvC;;EAKA;EAIA;EAIA,mBAAmB;;EAKnB;EAIA,2BAA2B;EAI3B,wBAAwB;EAIxB,cAAc;EAId,kBAAkB;EAIlB;IAA0B;IAAqB;;EAc/C;;;;;;;;EAWA,yBAAyB;;EAKzB,eAAe;EAIf;;EAKA,gBAAgB,OAAO;;EAKvB,cACE,gDACA,iBACA;IAAY;IAAqB;;;;;;EASnC,iBAAiB,KAAK;EAItB;;;;;UCpUe;EACf,SAAS;;;UAIM;;EAEf,OAAO;;;;;;EAMP,kBAAkB,OAAO,4BAA4B;;EAErD,UAAU;;EAEV;;EAEA,UAAU;;;;;;;;;;;;;;EAcV;;EAEA;IAAgB;IAAiB;IAAgB;;;;;;;;;;;EAUjD;IAA0B;IAA0B;;EACpD,QAAQ;;EAER,iBAAiB;;;;;;EAMjB,mBAAmB;;EAEnB;IAAoB;IAA2B;;;;;;EAK/C,MAAM;;EAEN;;EAEA;;;;;EAKA;;EAEA;;EAEA;;EAEA;;EAEA,eAAe;;EAEf;;EAEA,oBAAoB;;EAEpB,iBAAiB;;EAEjB,uBAAuB;;EAEvB,sBAAsB;;EAEtB,eAAe;;EAEf,mBAAmB,OAAO;;EAE1B,qBACE,UAAU,iBACV,kBACA,UAAU,cACP,QAAQ;;EAEb,mBAAmB;IACjB;IACA;IACA,WAAW;IACX;IACA;IACA;IACA;;;EAGF,aAAa;;EAEb,kBAAkB,OAAO;;EAEzB;;;;;;EAMA;;;;;;;;EAQA;;EAEA;;EAEA,uBAAuB;;EAEvB,gBAAgB;;EAEhB;;EAEA,oBAAoB;;EAEpB;;;;;EAKA,iBAAiB;;;;;EAKjB,SAAS;;;;;;;;;EAST;EACA;;;;;;;;UASe;;EAEf,SAAS;;;;;EAKT;;;;;EAKA;;EAEA;;EAEA,aAAa;;;;;;EAMb;;EAEA,eAAe;;UAGA;WACN;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;;WAEA;;;;;cClLE,gBAAgB;qBACR,OAAO;;;;;;qBAMP,cAAc;qBACd,oBAAoB;qBACpB,gBAAgB;YACzB,gBAAgB;YAChB;YACA;qBACS;YACT,YAAY;qBACH,aAAa;YACtB;YACA;YACA;mBACO;mBACA;mBACA;mBACA;mBACA;mBACA;mBACA;mBACA;mBACA;mBACA;mBACA;mBACA;mBACA;mBACA;;mBAEA;;UAET;UACA;UACA;;UAEA;;mBAES;EAEL,YAAA,SAAS;;;;;;EAkFf,IAAI,iBAAiB,mBAAmB,UAAU,qBAAqB;;;;;;;;;;;;EAiC7E,SAAS,gBAAgB,0BAA0B;;UAuB3C;;UAUM;EASR,oBAAoB,QAAQ;EAK5B,kBACJ,cACA,YAAY,iBACZ;IAAY,SAAS;MACpB,QAAQ;;;;;EASX,mBAAmB;UAIX;UAIA;;;;;;;EAmBR,SAAS,UAAS,0BAA+B;EAwCjD,aAAa,aAAa,aAAa;EAYjC,QACJ,uBACA,UAAS,iBACT,SAAS,cACR;;UAKW;UAiBN;;;;;iBC1UM,gBAAgB,kBAAkB,UAAU;;;;;;;;cCnC/C,wBAAwB;EACvB,YAAA;;;;;;;;cAYD;UASI;EACf;EACA;EACA;EACA,QAAQ;EACR;;;;;;EAMA;;EAEA,oBAAoB;;cAGT;mBACM;mBACA;mBACA;mBACA;mBACA;mBACA;mBACA;EAEL,YAAA,SAAS;;;;;;;;;;;;;;;;EAyBf,QACJ,UAAU,aACV,SAAS,qBACT,uBACA,SAAS,aACT,UAAS,iBACT,eAAe,sBACd;;UAmEK;;;;;;;;;iBClHM,0BAA0B,kBAAkB;;;;;;;;;;UCvB3C;;;;;;EAMf,UAAU,QAAQ,gCAA8B;;;;;;iBAwBlC,yBACd,QAAQ,6BACR,UAAS;;;;;iBAcK,2BAA2B,gBAAgB;;;;;;;;;;;;;;KCvE/C;;;;;cAQC,uBAAqB;;iBAIlB,eAAe;;;;;iBA+Bf,mBAAmB,GAAG,OAAO,GAAG,yBAAiD;;;;;;;;;;;;;;;;;cCxCpF;;cAGA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAuDD,+BAA+B,gCAAgC;;UAG1D;WACN;WACA;WACA;YACC;;;UAIK;WACN;WACA;;;UAIM;WACN;WACA;;;iBAIK,kBAAkB,cAAc,sBAC9C,MAAM,iBACN,MAAM,QACL,QAAQ;EAAoB,OAAO;;;;UC1FrB,yBAAyB,eAAe;EACvD;EACA;EACA;EACA;;;;KCEU;KAEP,cAAc,cAAc,wBAAwB;EAAqB,OAAO;;KACzE,2BACP;EAAkD,UAAU;MAC5D;EAAsC;EAA4B,SAAS;MAC3E;EAAiD,SAAS;MAC1D;EAA4C,SAAS;MACrD;EAA2C;EAA0B;MACrE;EACC;EACA;MAED;EAAkC;EAAsB;KACzD,cACE,QACE;cAWK,8BAA8B;WAChC,MAAM;WACN,iBAAiB;WACjB;EAGP,YAAA,MAAM,4BACN,iBAAiB,6BACjB;IAAW;IAAwB;;;;iBA2BvB,wBACd,kBACA;EAAW;IACV;;;;;;;;;;;UCvEc;EACf,UAAU,sBAAsB,mBAAmB;;;UAIpC;EACf;WACS,wBAAwB;;;;;cCwEtB,qCAAqC;mBAC/B;EAEL,YAAA;EAOZ,UAAU,sBAAsB,mBAAmB;;;cA0BxC,gCAAgC;mBAGd;WAFpB,uBAAuB;EAEH,YAAA;EAO7B;;;;KC1GU;cAWC,6BAA6B;WACnB,MAAM;EAAN,YAAA,MAAM;;UAMZ;;WAEN;WACA;WACA;;WAEA,oBAAoB;;;cASlB,oCAAoC;mBAC9B;mBACA;mBACA;mBACA;mBACA;UACT;UACA;EAEI,YAAA,UAAS;UAmBb;UAYA;EAwBF,MAAM,kBAAkB;aAAmB;;EAoD3C,KAAK,oBAAoB;UAwBvB;EAUF,kBAAkB;EAQlB,YAAY;;;;;cC1LP;UAGI;;WAEN;;WAEA;;;iBAeK,uBAAuB,eAAe;cA6BzC,iCAAiC,sBAAsB;mBAK/C;mBAJF;mBACA;EAGE,YAAA,cACjB,UAAS;EAMX,OAAO,OAAO;;;;;EAeP,KAAK,SAAS,4BAA4B,cAAc;;;;KC7GrD;UAeK;WACN,SAAS;WACT;WACA;;UAGM;WACN;WACA;WACA;WACA;WACA;;cAGE,yCAAyC;WAC3C,MAAM;WACN,UAAU,SAAS;EAG1B,YAAA,MAAM,uCACN,iBACA,WAAU,2CACV;;;;;;;;iBCJY,kCACd,gBACA,SAAS;;;UC/BM;EACf;EAOA;EACA;EACA;EACA;EACA;;UAGe;EACf;EACA,QAAQ;;iBAGM,gCACd,kBAAkB,qBACjB;;;UChBc;EACf;EACA;EACA;EACA;EACA,UAAU;EACV,SAAS;EACT;EACA;EACA;;KAGU,yBAAyB,KAAK;WAC/B,wBAAwB;;iBASnB,sBACd,QAAQ,mBACR,UAAS,yBACR;iBA6Ba,wBACd,kBAAkB,qBACjB;;;;;;;;;;iBClCa,gBAAgB;;iBAKhB,oBAAoB;;;;;;;;;cC6BvB,4BAA4B;mBACtB;mBACA;;;;;;;;;EAUL,YAAA,iBAAiB;;;;;;;;;;UAcrB;;;;;;;;;;;;;;UAoBA;;;;;;;;;;;;;;;EA0BR,KAAK,SAAS;;;;;;;;;EAoBd,KAAK,aAAa;;;;;;;;;EA2BlB,iBAAiB;;;;;;;;;;;;;UAuBT;;;;;EAcR,OAAO;;;;;;;;;;;;;;;;;;UCjNQ;EACf;;EAEA;;cAGW;mBACM;;mBAEA;UACT;;;;;;;SAQD,UAAU,OAAO,mBAAmB,oBAAoB;;;;;EAuB/D,cAAc;;;;;EAgBd,KAAK;;EAOL,OAAO;;EAMP;;EAKA;;;;;;EAaA,UAAU;;EAWV,IAAI;;MAKA;;;;;KCjGM;WACG;WAA0B,QAAQ;;WAClC;WAA4B,iBAAiB;;WAC7C;WAAgC;;;;;;;;;;;;;;;;;;;;;;;;;cCsBlC;;UAGI;EACf;EACA,QAAQ;;;;;;;;;cAUG;;;;;;;iBA+BG,+BAA+B,iBAAiB;;;;;;;;iBAgBhD,wCACd,iBACC"}
|
package/dist/node/index.d.ts
CHANGED
|
@@ -856,6 +856,8 @@ interface ISessionRunOptions {
|
|
|
856
856
|
* Never an authorization input (issue #1809).
|
|
857
857
|
*/
|
|
858
858
|
driverId?: string;
|
|
859
|
+
/** Where this turn came from, stored beside `driverId` on the user message. Display only. */
|
|
860
|
+
turnSource?: string;
|
|
859
861
|
/** Run-scoped model tool directive; 'none' remains in force for this turn only. */
|
|
860
862
|
toolChoice?: TToolChoice;
|
|
861
863
|
/**
|
package/dist/node/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[],"sources":["../../src/turn-claim.ts","../../src/context-window-tracker.ts","../../src/auto-mode-gate.ts","../../src/session-log-reference-types.ts","../../src/session-log-sinks.ts","../../src/session-logger.ts","../../src/permission-types.ts","../../src/permission-denial-log.ts","../../src/permission-enforcer.ts","../../src/session-base.ts","../../src/session-types.ts","../../src/session.ts","../../src/consent-scope.ts","../../src/compaction-orchestrator.ts","../../src/conversation-transcript.ts","../../src/session-artifact.ts","../../src/scrub-sensitive.ts","../../src/session-log-events.ts","../../src/session-log-entry-types.ts","../../src/session-log-codec/index.ts","../../src/external-payload-source-types.ts","../../src/session-log-sources.ts","../../src/tool-result-spill-store.ts","../../src/prompt-history-file.ts","../../src/external-payload-resolution-contracts.ts","../../src/external-payload-resolver.ts","../../src/session-log-validation.ts","../../src/session-log-replay.ts","../../src/session-id.ts","../../src/session-store.ts","../../src/checkpoint-tree.ts","../../src/session-record-codec/decode-outcome.ts","../../src/session-record-codec/record-decoder.ts"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../../src/turn-claim.ts","../../src/context-window-tracker.ts","../../src/auto-mode-gate.ts","../../src/session-log-reference-types.ts","../../src/session-log-sinks.ts","../../src/session-logger.ts","../../src/permission-types.ts","../../src/permission-denial-log.ts","../../src/permission-enforcer.ts","../../src/session-base.ts","../../src/session-types.ts","../../src/session.ts","../../src/consent-scope.ts","../../src/compaction-orchestrator.ts","../../src/conversation-transcript.ts","../../src/session-artifact.ts","../../src/scrub-sensitive.ts","../../src/session-log-events.ts","../../src/session-log-entry-types.ts","../../src/session-log-codec/index.ts","../../src/external-payload-source-types.ts","../../src/session-log-sources.ts","../../src/tool-result-spill-store.ts","../../src/prompt-history-file.ts","../../src/external-payload-resolution-contracts.ts","../../src/external-payload-resolver.ts","../../src/session-log-validation.ts","../../src/session-log-replay.ts","../../src/session-id.ts","../../src/session-store.ts","../../src/checkpoint-tree.ts","../../src/session-record-codec/decode-outcome.ts","../../src/session-record-codec/record-decoder.ts"],"mappings":"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"}
|