@robota-sdk/agent-cli 3.0.0-beta.10 → 3.0.0-beta.101

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (156) hide show
  1. package/CHANGELOG.md +3008 -0
  2. package/LICENSE +661 -21
  3. package/README.md +527 -170
  4. package/bin/agent.cjs +39 -0
  5. package/dist/node/artifact-DrPhOb_v.d.ts +749 -0
  6. package/dist/node/artifact-DrPhOb_v.d.ts.map +1 -0
  7. package/dist/node/bin.js +35 -19
  8. package/dist/node/bounded-output-BdWv9SX3-28em7iHq.js +2 -0
  9. package/dist/node/bounded-output-BdWv9SX3-28em7iHq.js.map +1 -0
  10. package/dist/node/bounded-output-BdWv9SX3-C4ucXwLR.js +2 -0
  11. package/dist/node/cli-core-CIzUq54B.js +2920 -0
  12. package/dist/node/command-executor-D_UBZHxh-CVZipoOV.js +2 -0
  13. package/dist/node/command-executor-D_UBZHxh-CVZipoOV.js.map +1 -0
  14. package/dist/node/command-executor-D_UBZHxh-D7UrdAlN.js +2 -0
  15. package/dist/node/desktop-host.d.ts +53 -0
  16. package/dist/node/desktop-host.d.ts.map +1 -0
  17. package/dist/node/desktop-host.js +2 -0
  18. package/dist/node/desktop-host.js.map +1 -0
  19. package/dist/node/headless.js +4 -0
  20. package/dist/node/host.d.ts +3 -0
  21. package/dist/node/host.js +1 -0
  22. package/dist/node/http-executor-ADn4locH-D-8crzF8.js +2 -0
  23. package/dist/node/http-executor-ADn4locH-D-8crzF8.js.map +1 -0
  24. package/dist/node/http-executor-ADn4locH-uz5KV6N-.js +2 -0
  25. package/dist/node/index.d.ts +790 -49
  26. package/dist/node/index.d.ts.map +1 -0
  27. package/dist/node/index.js +6 -13
  28. package/dist/node/index.js.map +1 -0
  29. package/dist/node/node-AQEjsK5o.js +2 -0
  30. package/dist/node/node-AQEjsK5o.js.map +1 -0
  31. package/dist/node/node-B5wKOmx1.js +165 -0
  32. package/dist/node/node-B5wKOmx1.js.map +1 -0
  33. package/dist/node/node-BQfSVkbA.js +2 -0
  34. package/dist/node/node-BRrU0Q8C.js +165 -0
  35. package/dist/node/node-CvUY6TbD.js +15 -0
  36. package/dist/node/node-DQ4XoykT.js +15 -0
  37. package/dist/node/node-DQ4XoykT.js.map +1 -0
  38. package/dist/node/product-host-Btm4B-p5.js +2954 -0
  39. package/dist/node/product-host-Btm4B-p5.js.map +1 -0
  40. package/dist/node/product-host-Cle0fPIc.d.ts +4691 -0
  41. package/dist/node/product-host-Cle0fPIc.d.ts.map +1 -0
  42. package/dist/node/rolldown-runtime-C9xYM0wc.js +1 -0
  43. package/dist/node/rolldown-runtime-DK3Fl9T5-BeX3Bzvn.js +2 -0
  44. package/dist/node/rolldown-runtime-DK3Fl9T5-DK3Fl9T5.js +2 -0
  45. package/dist/node/rolldown-runtime-DK3Fl9T5-DK3Fl9T5.js.map +1 -0
  46. package/dist/node/rolldown-runtime-rs7quPpn.js +2 -0
  47. package/dist/node/verdict-decoder-Dz_rjoIZ-DA8BKB83.js +2 -0
  48. package/dist/node/verdict-decoder-Dz_rjoIZ-DA8BKB83.js.map +1 -0
  49. package/dist/node/verdict-decoder-Dz_rjoIZ-qM0jJVsB.js +2 -0
  50. package/dist/web/app-sandbox.html +145 -0
  51. package/dist/web/assets/PretendardVariable.subset.0-BHUkWNFR.woff2 +0 -0
  52. package/dist/web/assets/PretendardVariable.subset.1-C-__qv6_.woff2 +0 -0
  53. package/dist/web/assets/PretendardVariable.subset.10-DzSWztS8.woff2 +0 -0
  54. package/dist/web/assets/PretendardVariable.subset.11-CqVmlKJn.woff2 +0 -0
  55. package/dist/web/assets/PretendardVariable.subset.12-BHuZSgT0.woff2 +0 -0
  56. package/dist/web/assets/PretendardVariable.subset.13-C42mj_j2.woff2 +0 -0
  57. package/dist/web/assets/PretendardVariable.subset.14-Bl512uUX.woff2 +0 -0
  58. package/dist/web/assets/PretendardVariable.subset.15-D04iXIE3.woff2 +0 -0
  59. package/dist/web/assets/PretendardVariable.subset.16-BQUnS2GX.woff2 +0 -0
  60. package/dist/web/assets/PretendardVariable.subset.17-BfZSA-Xc.woff2 +0 -0
  61. package/dist/web/assets/PretendardVariable.subset.18-CwAxMC3C.woff2 +0 -0
  62. package/dist/web/assets/PretendardVariable.subset.19-CJu4Zcdo.woff2 +0 -0
  63. package/dist/web/assets/PretendardVariable.subset.2-dCZkyKLw.woff2 +0 -0
  64. package/dist/web/assets/PretendardVariable.subset.20-Ig1-z3n5.woff2 +0 -0
  65. package/dist/web/assets/PretendardVariable.subset.21-yKPEdLXC.woff2 +0 -0
  66. package/dist/web/assets/PretendardVariable.subset.22-CSqxKoOs.woff2 +0 -0
  67. package/dist/web/assets/PretendardVariable.subset.23-DK80wi0t.woff2 +0 -0
  68. package/dist/web/assets/PretendardVariable.subset.24-CmkE8Q8D.woff2 +0 -0
  69. package/dist/web/assets/PretendardVariable.subset.25-CsoWBIZB.woff2 +0 -0
  70. package/dist/web/assets/PretendardVariable.subset.26-Sozl8dw8.woff2 +0 -0
  71. package/dist/web/assets/PretendardVariable.subset.27-CT6nuW9L.woff2 +0 -0
  72. package/dist/web/assets/PretendardVariable.subset.28-CpO0Y96p.woff2 +0 -0
  73. package/dist/web/assets/PretendardVariable.subset.29-D6hjrUWm.woff2 +0 -0
  74. package/dist/web/assets/PretendardVariable.subset.3-Dqw33sf4.woff2 +0 -0
  75. package/dist/web/assets/PretendardVariable.subset.30-CWDM1c0J.woff2 +0 -0
  76. package/dist/web/assets/PretendardVariable.subset.31-CdmyZ5mm.woff2 +0 -0
  77. package/dist/web/assets/PretendardVariable.subset.32-CGnFWD2i.woff2 +0 -0
  78. package/dist/web/assets/PretendardVariable.subset.33--0OT__YQ.woff2 +0 -0
  79. package/dist/web/assets/PretendardVariable.subset.34-CaCS33Md.woff2 +0 -0
  80. package/dist/web/assets/PretendardVariable.subset.35-DWFYRGLp.woff2 +0 -0
  81. package/dist/web/assets/PretendardVariable.subset.36-Dn5IBRQB.woff2 +0 -0
  82. package/dist/web/assets/PretendardVariable.subset.37-BD6FyOtY.woff2 +0 -0
  83. package/dist/web/assets/PretendardVariable.subset.38-D4hu443z.woff2 +0 -0
  84. package/dist/web/assets/PretendardVariable.subset.39-B_7wfth9.woff2 +0 -0
  85. package/dist/web/assets/PretendardVariable.subset.4-Bvh2YGoc.woff2 +0 -0
  86. package/dist/web/assets/PretendardVariable.subset.40-BDaOfdUe.woff2 +0 -0
  87. package/dist/web/assets/PretendardVariable.subset.41-BUACvzZC.woff2 +0 -0
  88. package/dist/web/assets/PretendardVariable.subset.42-Dp-5mnyL.woff2 +0 -0
  89. package/dist/web/assets/PretendardVariable.subset.43-DHdpry7N.woff2 +0 -0
  90. package/dist/web/assets/PretendardVariable.subset.44-qHopVhdd.woff2 +0 -0
  91. package/dist/web/assets/PretendardVariable.subset.45-BniyRFfm.woff2 +0 -0
  92. package/dist/web/assets/PretendardVariable.subset.46-BMRq7xC-.woff2 +0 -0
  93. package/dist/web/assets/PretendardVariable.subset.47-B-cWO2pw.woff2 +0 -0
  94. package/dist/web/assets/PretendardVariable.subset.48-Ct-fWrPO.woff2 +0 -0
  95. package/dist/web/assets/PretendardVariable.subset.49-BblQVys9.woff2 +0 -0
  96. package/dist/web/assets/PretendardVariable.subset.5-K_MNGNCe.woff2 +0 -0
  97. package/dist/web/assets/PretendardVariable.subset.50-C8IyFH7L.woff2 +0 -0
  98. package/dist/web/assets/PretendardVariable.subset.51-Bxd0gTAs.woff2 +0 -0
  99. package/dist/web/assets/PretendardVariable.subset.52-CNgqKOOJ.woff2 +0 -0
  100. package/dist/web/assets/PretendardVariable.subset.53-BSRnyb-u.woff2 +0 -0
  101. package/dist/web/assets/PretendardVariable.subset.54-Dt2-cQkx.woff2 +0 -0
  102. package/dist/web/assets/PretendardVariable.subset.55-jFgflYjX.woff2 +0 -0
  103. package/dist/web/assets/PretendardVariable.subset.56-BwZdvJZQ.woff2 +0 -0
  104. package/dist/web/assets/PretendardVariable.subset.57-BwFDg-Fs.woff2 +0 -0
  105. package/dist/web/assets/PretendardVariable.subset.58-DlucQts_.woff2 +0 -0
  106. package/dist/web/assets/PretendardVariable.subset.59-CMkWjhdo.woff2 +0 -0
  107. package/dist/web/assets/PretendardVariable.subset.6-Bxhohlcm.woff2 +0 -0
  108. package/dist/web/assets/PretendardVariable.subset.60-CeHezjjf.woff2 +0 -0
  109. package/dist/web/assets/PretendardVariable.subset.61-PUuTnod4.woff2 +0 -0
  110. package/dist/web/assets/PretendardVariable.subset.62-DGSAWCfb.woff2 +0 -0
  111. package/dist/web/assets/PretendardVariable.subset.63-B35xsm4O.woff2 +0 -0
  112. package/dist/web/assets/PretendardVariable.subset.64-CTbrgYF9.woff2 +0 -0
  113. package/dist/web/assets/PretendardVariable.subset.65-B66rjuyf.woff2 +0 -0
  114. package/dist/web/assets/PretendardVariable.subset.66-C3HqaDeY.woff2 +0 -0
  115. package/dist/web/assets/PretendardVariable.subset.67-BmuXdlDy.woff2 +0 -0
  116. package/dist/web/assets/PretendardVariable.subset.68-DS9B48d0.woff2 +0 -0
  117. package/dist/web/assets/PretendardVariable.subset.69-YT16ymcp.woff2 +0 -0
  118. package/dist/web/assets/PretendardVariable.subset.7-E2HaA55t.woff2 +0 -0
  119. package/dist/web/assets/PretendardVariable.subset.70-BUXiAGMT.woff2 +0 -0
  120. package/dist/web/assets/PretendardVariable.subset.71-DuPZj8us.woff2 +0 -0
  121. package/dist/web/assets/PretendardVariable.subset.72-pYYGrEQR.woff2 +0 -0
  122. package/dist/web/assets/PretendardVariable.subset.73-DMrK970F.woff2 +0 -0
  123. package/dist/web/assets/PretendardVariable.subset.74-D4tQnymK.woff2 +0 -0
  124. package/dist/web/assets/PretendardVariable.subset.75-CxKdrRNf.woff2 +0 -0
  125. package/dist/web/assets/PretendardVariable.subset.76-DhPm2b_q.woff2 +0 -0
  126. package/dist/web/assets/PretendardVariable.subset.77-DwaxqOC8.woff2 +0 -0
  127. package/dist/web/assets/PretendardVariable.subset.78-DhqRbBzT.woff2 +0 -0
  128. package/dist/web/assets/PretendardVariable.subset.79-XpoyPP38.woff2 +0 -0
  129. package/dist/web/assets/PretendardVariable.subset.8-CRbJhhyA.woff2 +0 -0
  130. package/dist/web/assets/PretendardVariable.subset.80-DsV9Qp_h.woff2 +0 -0
  131. package/dist/web/assets/PretendardVariable.subset.81-BZzF9Hb3.woff2 +0 -0
  132. package/dist/web/assets/PretendardVariable.subset.82-BgAHe30u.woff2 +0 -0
  133. package/dist/web/assets/PretendardVariable.subset.83-DF-zBLLe.woff2 +0 -0
  134. package/dist/web/assets/PretendardVariable.subset.84-Brb8EsYQ.woff2 +0 -0
  135. package/dist/web/assets/PretendardVariable.subset.85-Byo_x2hf.woff2 +0 -0
  136. package/dist/web/assets/PretendardVariable.subset.86-XG7lTN_6.woff2 +0 -0
  137. package/dist/web/assets/PretendardVariable.subset.87-Lzui2vbK.woff2 +0 -0
  138. package/dist/web/assets/PretendardVariable.subset.88-CqX6JSgh.woff2 +0 -0
  139. package/dist/web/assets/PretendardVariable.subset.89-DOzqWPpX.woff2 +0 -0
  140. package/dist/web/assets/PretendardVariable.subset.9-Btb3bmS6.woff2 +0 -0
  141. package/dist/web/assets/PretendardVariable.subset.90-BF7RiZjm.woff2 +0 -0
  142. package/dist/web/assets/PretendardVariable.subset.91-Csm0YNoH.woff2 +0 -0
  143. package/dist/web/assets/index-2GhVGsHN.js +314 -0
  144. package/dist/web/assets/index-BSxTg2Py.css +1 -0
  145. package/dist/web/index.html +15 -0
  146. package/package.json +203 -34
  147. package/scripts/koffi-bun-plugin.mjs +116 -0
  148. package/scripts/native-build.d.mts +19 -0
  149. package/scripts/native-build.mjs +72 -0
  150. package/scripts/qualify-koffi-gc.mjs +28 -0
  151. package/dist/node/bin.cjs +0 -1368
  152. package/dist/node/bin.d.cts +0 -1
  153. package/dist/node/bin.d.ts +0 -1
  154. package/dist/node/chunk-UT4RQDTI.js +0 -1337
  155. package/dist/node/index.cjs +0 -1375
  156. package/dist/node/index.d.cts +0 -49
@@ -1,49 +1,790 @@
1
- export { IQueryOptions, ISessionOptions, ISessionRecord, Session, SessionStore, TPermissionDecision, TPermissionHandler, TPermissionMode, TRUST_TO_MODE, TToolResult, TTrustLevel, query } from '@robota-sdk/agent-sdk';
2
- export { TToolArgs } from '@robota-sdk/agent-core';
3
-
4
- /**
5
- * CLI-specific types for terminal I/O abstraction.
6
- */
7
- /**
8
- * Spinner handle returned by ITerminalOutput.spinner()
9
- */
10
- interface ISpinner {
11
- stop(): void;
12
- update(message: string): void;
13
- }
14
- /**
15
- * Terminal output abstraction — injected into all components that need I/O
16
- */
17
- interface ITerminalOutput {
18
- write(text: string): void;
19
- writeLine(text: string): void;
20
- writeMarkdown(md: string): void;
21
- writeError(text: string): void;
22
- prompt(question: string): Promise<string>;
23
- /** Arrow-key selector. Returns the index of the chosen option. */
24
- select(options: string[], initialIndex?: number): Promise<number>;
25
- spinner(message: string): ISpinner;
26
- }
27
-
28
- /**
29
- * CLI entry point — parses arguments, loads config/context, and starts the
30
- * Ink TUI or runs in print mode.
31
- *
32
- * CLI flags:
33
- * robota Interactive TUI mode
34
- * robota "prompt" TUI with initial prompt (future)
35
- * robota -p "prompt" Print mode (one-shot, exit after response)
36
- * robota -c Continue last session
37
- * robota -r <id> Resume session by ID
38
- * robota --model <model> Model override
39
- * robota --permission-mode <m> plan|default|acceptEdits|bypassPermissions
40
- * robota --max-turns <n> Limit agentic turns
41
- * robota --version Print package version and exit
42
- */
43
- /**
44
- * Main CLI orchestration function.
45
- * Called from bin.ts as the top-level entry.
46
- */
47
- declare function startCli(): Promise<void>;
48
-
49
- export { type ISpinner, type ITerminalOutput, startCli };
1
+ import { t as IProductCliArtifact } from "./artifact-DrPhOb_v.js";
2
+ import { _ as IEgressDeps, a as IHostedAdmissionOptions, c as IHostedRuntimeConfig, d as IHostedRuntimeInvocation, f as IHostedRuntimeUsage, g as ISandboxClient, h as THostedRuntimeExecutorFactory, i as IHostedAdmission, l as IHostedRuntimeControl, m as THostedBackendRole, n as createProductCliHost, o as IHostedAdmissionProof, p as IHostedSnapshot, r as IStartCliOptions, s as IHostedIdentity, t as IProductCliHost, u as IHostedRuntimeExecutor } from "./product-host-Cle0fPIc.js";
3
+ import { IncomingMessage, Server, ServerResponse } from "node:http";
4
+ import { PassThrough, Readable, Writable } from "node:stream";
5
+ //#region src/cli.d.ts
6
+ /** Full CLI entry: supplies its terminal presentation to the shared serve/bootstrap path. */
7
+ declare function startCli(initialOptions?: IStartCliOptions): Promise<void>;
8
+ //#endregion
9
+ //#region src/cli-entry.d.ts
10
+ /** Launch a host entry with binary diagnostics, crash policy, startup errors and worker dispatch. */
11
+ declare function startCliEntry(options?: IStartCliOptions): Promise<void>;
12
+ //#endregion
13
+ //#region src/hosted/hosted-runtime-controller.d.ts
14
+ interface IHostedRuntimeControllerOptions extends IHostedAdmissionOptions {
15
+ /** Own partial allocations until return; rejection must release them or report unresolved cleanup. */
16
+ readonly createExecutor: (admission: IHostedAdmission, signal: AbortSignal) => Promise<IHostedRuntimeExecutor>;
17
+ }
18
+ type THostedRuntimeState = 'idle' | 'admitting' | 'running' | 'stopping' | 'stopped' | 'failed';
19
+ declare class HostedRuntimeController {
20
+ private readonly options;
21
+ private state;
22
+ private executor?;
23
+ private provisioning?;
24
+ private abort?;
25
+ private stopping?;
26
+ private limits?;
27
+ private usage;
28
+ constructor(options: IHostedRuntimeControllerOptions);
29
+ status(): {
30
+ state: THostedRuntimeState;
31
+ usage: IHostedRuntimeUsage;
32
+ };
33
+ private observe;
34
+ run(): Promise<void>;
35
+ /** Restart constructs a fresh controller and revalidates current identity, epoch and snapshot. */
36
+ restart(options: IHostedRuntimeControllerOptions): Promise<HostedRuntimeController>;
37
+ stop(reason: string): Promise<void>;
38
+ private cleanup;
39
+ private cleanupExecutor;
40
+ private boundedCleanup;
41
+ }
42
+ //#endregion
43
+ //#region src/hosted/hosted-runtime-admission.d.ts
44
+ /** Fixed typed tuple defines the UTF-8 signature domain; object order is not part of the protocol. */
45
+ declare function hostedAdmissionBytes(proof: Omit<IHostedAdmissionProof, 'signature'>): Buffer;
46
+ //#endregion
47
+ //#region ../agent-organization/dist/node/index.d.ts
48
+ //#endregion
49
+ //#region src/types.d.ts
50
+ interface IOrganizationUnits {
51
+ readonly tokens: number;
52
+ readonly timeMs: number;
53
+ readonly costMicros: number;
54
+ }
55
+ interface IOrganizationBudget extends IOrganizationUnits {
56
+ readonly concurrency: number;
57
+ }
58
+ //#endregion
59
+ //#region ../agent-organization-host/dist/node/index.d.ts
60
+ //#region src/types.d.ts
61
+ type TOrganizationJson = null | boolean | number | string | TOrganizationJson[] | {
62
+ [key: string]: TOrganizationJson;
63
+ };
64
+ interface IOrganizationScope {
65
+ readonly resource: string;
66
+ readonly operations: readonly string[];
67
+ }
68
+ /** Signed by the external workload issuer; its private key is never accepted by this package. */
69
+ interface IOrganizationGrant {
70
+ readonly version: 1;
71
+ readonly id: string;
72
+ readonly tenant: string;
73
+ readonly task: string;
74
+ readonly actor: string;
75
+ readonly role: string;
76
+ readonly audience: string;
77
+ readonly parent: string | null;
78
+ readonly epoch: number;
79
+ readonly notBefore: number;
80
+ readonly expiresAt: number;
81
+ readonly publicKey: string;
82
+ readonly scopes: readonly IOrganizationScope[];
83
+ readonly budget: IOrganizationBudget;
84
+ }
85
+ interface IOrganizationOperation {
86
+ readonly idempotencyKey: string;
87
+ readonly resource: string;
88
+ readonly operation: string;
89
+ readonly environment: string;
90
+ readonly parameters: TOrganizationJson;
91
+ }
92
+ /** Proof of possession by the worker key named in the issued workload grant. */
93
+ interface IOrganizationRequest {
94
+ readonly version: 1;
95
+ readonly grantId: string;
96
+ readonly tenant: string;
97
+ readonly task: string;
98
+ readonly actor: string;
99
+ readonly audience: string;
100
+ readonly epoch: number;
101
+ readonly nonce: string;
102
+ readonly notBefore: number;
103
+ readonly expiresAt: number;
104
+ readonly operation: IOrganizationOperation;
105
+ }
106
+ /** Minted through a separate operator channel, not a worker/model/ordinary tool approval. */
107
+ interface IOrganizationApproval {
108
+ readonly version: 1;
109
+ readonly id: string;
110
+ readonly tenant: string;
111
+ readonly task: string;
112
+ readonly actor: string;
113
+ readonly audience: string;
114
+ readonly epoch: number;
115
+ readonly environment: string;
116
+ readonly operationDigest: string;
117
+ readonly notBefore: number;
118
+ readonly expiresAt: number;
119
+ }
120
+ interface IOrganizationEnvelope<T> {
121
+ readonly claims: T;
122
+ readonly signature: string;
123
+ }
124
+ interface IOrganizationCall {
125
+ readonly request: IOrganizationEnvelope<IOrganizationRequest>;
126
+ readonly approval: IOrganizationEnvelope<IOrganizationApproval> | null;
127
+ }
128
+ interface IOrganizationReceipt {
129
+ readonly value: TOrganizationJson;
130
+ /** Trusted instrumentation; the action owner must bound effects to its reservation. */
131
+ readonly usage: IOrganizationUnits;
132
+ }
133
+ interface IOrganizationAction {
134
+ readonly resource: string;
135
+ readonly operation: string;
136
+ readonly roles: readonly string[];
137
+ readonly requiresApproval: boolean;
138
+ /** Trusted server-side validation and upper bound; never accept a worker-selected quota. */
139
+ reserve(operation: IOrganizationOperation): IOrganizationUnits;
140
+ execute(operation: IOrganizationOperation, context: {
141
+ readonly signal: AbortSignal;
142
+ readonly proof: IOrganizationEnvelope<IOrganizationRequest>;
143
+ readonly operationDigest: string;
144
+ readonly identity: IOrganizationGrant;
145
+ readonly reservation: IOrganizationUnits;
146
+ }): Promise<IOrganizationReceipt>;
147
+ }
148
+ //#endregion
149
+ //#region src/audit.d.ts
150
+ type TOrganizationAuditPhase = 'dispatch' | 'complete' | 'refused' | 'unknown';
151
+ interface IOrganizationAuditEvent {
152
+ readonly phase: TOrganizationAuditPhase;
153
+ readonly operationDigest: string;
154
+ readonly tenantDigest: string;
155
+ readonly taskDigest: string;
156
+ readonly actorDigest: string;
157
+ readonly grantDigest: string;
158
+ readonly epoch: number;
159
+ }
160
+ interface IOrganizationAuditHead {
161
+ readonly version: 1;
162
+ readonly stream: string;
163
+ readonly sequence: number;
164
+ readonly hash: string;
165
+ }
166
+ interface IOrganizationAuditEntry {
167
+ readonly stream: string;
168
+ readonly sequence: number;
169
+ readonly previous: string;
170
+ readonly event: IOrganizationAuditEvent;
171
+ readonly hash: string;
172
+ }
173
+ interface IOrganizationAuditPage {
174
+ readonly entries: readonly IOrganizationAuditEntry[];
175
+ readonly head: IOrganizationEnvelope<IOrganizationAuditHead>;
176
+ }
177
+ /** Owner-installed external storage; read is consistent and append is an atomic expected-head CAS. */
178
+ interface IOrganizationAuditSink {
179
+ read(after: IOrganizationAuditHead, signal: AbortSignal): Promise<IOrganizationAuditPage>;
180
+ append(expected: IOrganizationAuditHead, event: IOrganizationAuditEvent, signal: AbortSignal): Promise<{
181
+ readonly entry: IOrganizationAuditEntry;
182
+ readonly head: IOrganizationEnvelope<IOrganizationAuditHead>;
183
+ }>;
184
+ }
185
+ /** Independently retained checkpoint: consistent reads, monotonic CAS, no reset/delete worker capability. */
186
+ interface IOrganizationAuditAnchor {
187
+ load(signal: AbortSignal): Promise<IOrganizationEnvelope<IOrganizationAuditHead>>;
188
+ compareAndSet(expected: IOrganizationAuditHead, next: IOrganizationEnvelope<IOrganizationAuditHead>, signal: AbortSignal): Promise<boolean>;
189
+ }
190
+ interface IOrganizationAuditWriter {
191
+ record(event: IOrganizationAuditEvent, signal?: AbortSignal): Promise<void>;
192
+ }
193
+ interface IOrganizationAuditOptions {
194
+ readonly stream: string;
195
+ readonly publicKey: string;
196
+ readonly sink: IOrganizationAuditSink;
197
+ readonly anchor: IOrganizationAuditAnchor;
198
+ readonly timeoutMs?: number;
199
+ }
200
+ /** Dispatch can proceed only after an exact event and its independently retained checkpoint are confirmed. */
201
+ declare class OrganizationAudit implements IOrganizationAuditWriter {
202
+ private readonly stream;
203
+ private readonly key;
204
+ private readonly sink;
205
+ private readonly anchor;
206
+ private readonly timeout;
207
+ constructor(options: IOrganizationAuditOptions);
208
+ private bounded;
209
+ record(value: IOrganizationAuditEvent, signal?: AbortSignal): Promise<void>;
210
+ /** Owner-only recovery of a valid already-written tail. Does not reset history, refund or retry any effect. */
211
+ recover(signal?: AbortSignal): Promise<IOrganizationAuditHead>;
212
+ /** Readiness verifies retained evidence without adopting an unconfirmed tail or resetting history. */
213
+ verify(signal?: AbortSignal): Promise<IOrganizationAuditHead>;
214
+ }
215
+ //#endregion
216
+ //#region src/git-asset.d.ts
217
+ interface IOrganizationGitIntent {
218
+ readonly asset: string;
219
+ readonly digest: string;
220
+ readonly expectedRevision: number;
221
+ readonly fence: number;
222
+ readonly expectedOid: string;
223
+ readonly candidateOid: string;
224
+ readonly publishedOid: string;
225
+ }
226
+ interface IOrganizationGitAssetOptions {
227
+ /** Owner-provisioned private bare repository; workers must not mount or write this directory. */
228
+ readonly path: string;
229
+ readonly ref: string;
230
+ /** Absolute owner-pinned executable. No worker parameters reach the command or environment. */
231
+ readonly gitPath: string;
232
+ /** Aggregate subprocess deadline per phase, not a physical worker/OS containment guarantee. */
233
+ readonly phaseTimeoutMs?: number;
234
+ }
235
+ declare function gitParameters(value: unknown): {
236
+ expectedRevision: number;
237
+ fence: number;
238
+ expectedOid: string;
239
+ candidateOid: string;
240
+ };
241
+ /** Trusted asset-owner plumbing only. This class never clones/fetches, checks out, merges or runs user code. */
242
+ declare class OrganizationGitAsset {
243
+ readonly identity: string;
244
+ readonly phaseTimeoutMs: number;
245
+ private readonly path;
246
+ private readonly ino;
247
+ private readonly dev;
248
+ private readonly ref;
249
+ private readonly gitPath;
250
+ constructor(options: IOrganizationGitAssetOptions);
251
+ private verify;
252
+ private phase;
253
+ private tip;
254
+ prepare(digest: string, parameters: ReturnType<typeof gitParameters>): IOrganizationGitIntent;
255
+ publish(intent: IOrganizationGitIntent): void;
256
+ wasPublished(intent: IOrganizationGitIntent): boolean;
257
+ }
258
+ //#endregion
259
+ //#region src/ledger-anchor.d.ts
260
+ interface IOrganizationLedgerHead {
261
+ readonly version: 1;
262
+ readonly ledger: string;
263
+ readonly revision: number;
264
+ readonly digest: string;
265
+ }
266
+ /** Trusted owner capability outside the mutable policy store and every worker checkpoint. */
267
+ interface IOrganizationLedgerAnchor {
268
+ readonly ledger: string;
269
+ /** Consistent authenticated read of independently retained authority state. */
270
+ read(): IOrganizationLedgerHead | undefined;
271
+ /** Atomic, durable CAS; confirmation must be readable before this call returns. */
272
+ compareAndSet(expected: IOrganizationLedgerHead | undefined, next: IOrganizationLedgerHead): void;
273
+ }
274
+ //#endregion
275
+ //#region src/shared-state.d.ts
276
+ interface IOrganizationStateLease {
277
+ readonly revision: number;
278
+ readonly fence: number;
279
+ readonly expiresAt: number;
280
+ }
281
+ interface IOrganizationStateValue {
282
+ readonly revision: number;
283
+ readonly value: TOrganizationJson;
284
+ }
285
+ //#endregion
286
+ //#region src/no-effect.d.ts
287
+ declare const NO_EFFECT_REASONS: readonly ["budget-exhausted", "not-authorized", "invalid-schema", "expired", "revoked", "operation-conflict", "operation-pending"];
288
+ type TOrganizationNoEffectReason = (typeof NO_EFFECT_REASONS)[number];
289
+ //#endregion
290
+ //#region src/sqlite-ledger.d.ts
291
+ interface IOrganizationLedgerOptions {
292
+ readonly path: string;
293
+ /** Explicit first-time bootstrap. Reopen/missing/corrupt policy never initializes empty authority. */
294
+ readonly create?: boolean;
295
+ /** Owner-controlled v1/v2-to-v3 schema upgrade; close existing brokers first. Preserves all authority/accounting. */
296
+ readonly upgrade?: boolean;
297
+ readonly audience: string;
298
+ readonly workloadPublicKey: string;
299
+ readonly approvalPublicKey: string;
300
+ readonly now?: () => number;
301
+ readonly maxGrantTtlMs?: number;
302
+ readonly maxRequestTtlMs?: number;
303
+ /** Independently retained owner checkpoint; hosted organization composition requires it. */
304
+ readonly anchor?: IOrganizationLedgerAnchor;
305
+ }
306
+ type TOrganizationReservation = {
307
+ readonly kind: 'reserved';
308
+ readonly digest: string;
309
+ readonly grant: IOrganizationGrant;
310
+ readonly reservation: IOrganizationUnits;
311
+ } | {
312
+ readonly kind: 'complete';
313
+ readonly digest: string;
314
+ readonly receipt: IOrganizationReceipt;
315
+ } | {
316
+ readonly kind: 'refused';
317
+ readonly digest: string;
318
+ readonly reason: TOrganizationNoEffectReason;
319
+ };
320
+ /** Durable policy/budgets live in the operator's domain, never in a worker checkpoint. */
321
+ declare class OrganizationLedger {
322
+ private readonly db;
323
+ private readonly state;
324
+ private readonly path;
325
+ private readonly inode;
326
+ private closed;
327
+ private readonly now;
328
+ private readonly workloadKey;
329
+ private readonly approvalKey;
330
+ private readonly integrity?;
331
+ readonly audience: string;
332
+ readonly maxGrantTtlMs: number;
333
+ readonly maxRequestTtlMs: number;
334
+ constructor(options: IOrganizationLedgerOptions);
335
+ private initializeGit;
336
+ private verifyFile;
337
+ private transaction;
338
+ private metadata;
339
+ private newBudget;
340
+ /** Trusted administration only; these methods are not present on the HTTP broker ingress. */
341
+ createGlobalBudget(limits: IOrganizationBudget): void;
342
+ createTenant(tenant: string, limits: IOrganizationBudget): void;
343
+ createTask(tenant: string, task: string, limits: IOrganizationBudget): void;
344
+ registerGrant(envelope: IOrganizationEnvelope<IOrganizationGrant>): void;
345
+ private chain;
346
+ currentGrant(grantId: string): IOrganizationGrant;
347
+ /** Owner inventory inspection, including expired/revoked grants; never grants execution authority. */
348
+ registeredGrant(grantId: string): IOrganizationGrant;
349
+ /** Trusted supervisory accounting for an owner-installed single-purpose workload grant. */
350
+ grantOperationCount(grantId: string): number;
351
+ /** Owner composition can require integrity rather than silently accepting legacy SDK mode. */
352
+ verifyAnchoredAuthority(): void;
353
+ private authenticateInside;
354
+ authenticate(envelope: IOrganizationEnvelope<IOrganizationRequest>): {
355
+ request: IOrganizationRequest;
356
+ grant: IOrganizationGrant;
357
+ };
358
+ /** Owner administration only; state creation cannot overwrite an existing resource or its fence. */
359
+ createStateResource(tenant: string, task: string, resource: string, value: TOrganizationJson): void;
360
+ private activeOperation;
361
+ private stateOperation;
362
+ leaseState(envelope: IOrganizationEnvelope<IOrganizationRequest>): IOrganizationStateLease;
363
+ readState(envelope: IOrganizationEnvelope<IOrganizationRequest>): IOrganizationStateValue;
364
+ writeState(envelope: IOrganizationEnvelope<IOrganizationRequest>): IOrganizationStateValue;
365
+ /** Trusted Git owner only. Persist an unreachable receipt intent before any target ref can change. */
366
+ prepareGitPublication(envelope: IOrganizationEnvelope<IOrganizationRequest>, asset: OrganizationGitAsset): IOrganizationGitIntent;
367
+ private gitIntent;
368
+ /** SQL locking serializes policy/fence checks with dispatch. External Git and SQL are NOT an atomic store. */
369
+ commitGitPublication(envelope: IOrganizationEnvelope<IOrganizationRequest>, asset: OrganizationGitAsset): IOrganizationStateValue;
370
+ /** Owner-only proof of a past branch publication. No absent effect is refunded, no workload authority is restored. */
371
+ reconcileGitPublication(value: IOrganizationRequest, asset: OrganizationGitAsset): IOrganizationReceipt;
372
+ /** Trusted asset-owner reconciliation only. The atomic state outcome proves this specific effect; no worker route exposes it. */
373
+ reconcileStateOperation(value: IOrganizationRequest): IOrganizationReceipt;
374
+ private liveBudget;
375
+ private storedBudget;
376
+ private operation;
377
+ reserve(envelope: IOrganizationEnvelope<IOrganizationRequest>, reservation: IOrganizationUnits, approval: IOrganizationEnvelope<IOrganizationApproval> | null, requiresApproval: boolean): TOrganizationReservation;
378
+ private key;
379
+ /** A crash/unknown effect keeps every reservation. No request route can refund or retry it. */
380
+ markUnknown(request: IOrganizationRequest): void;
381
+ settle(request: IOrganizationRequest, receipt: IOrganizationReceipt): void;
382
+ /** External asset owner only: confirm an exact unknown effect, charge its retained bound, never restore authority. */
383
+ reconcileExternalOperation(value: IOrganizationRequest, confirmedValue: TOrganizationJson): IOrganizationReceipt;
384
+ /** Trusted asset owner only: a proved no-effect outcome, never a worker-provided refund assertion. */
385
+ confirmNoEffect(request: IOrganizationRequest, reason: TOrganizationNoEffectReason, usage: IOrganizationUnits): void;
386
+ private recordReceipt;
387
+ revokeGrant(grantId: string): void;
388
+ stopTask(tenant: string, task: string): void;
389
+ stopTenant(tenant: string): void;
390
+ emergencyStop(): void;
391
+ advanceEpoch(epoch: number): void;
392
+ budgetState(kind: 'global' | 'tenant' | 'task' | 'grant', ...identity: string[]): {
393
+ limits: IOrganizationBudget;
394
+ spent: IOrganizationUnits;
395
+ held: IOrganizationUnits;
396
+ active: number;
397
+ stopped: boolean;
398
+ };
399
+ close(): void;
400
+ }
401
+ //#endregion
402
+ //#region src/hosted/hosted-organization-control.d.ts
403
+ interface IHostedOrganizationWorker {
404
+ readonly resource: string;
405
+ readonly grantId: string;
406
+ readonly identity: IHostedIdentity;
407
+ readonly epoch: number;
408
+ }
409
+ /** Owner provider inventory must survive broker restart and exclude resources outside its custody. */
410
+ interface IHostedOrganizationInventory {
411
+ list(signal: AbortSignal): Promise<readonly IHostedOrganizationWorker[]>;
412
+ /** Revalidate owner metadata before termination; return only after the provider acknowledges cleanup. */
413
+ terminate(worker: IHostedOrganizationWorker, signal: AbortSignal): Promise<void>;
414
+ }
415
+ interface IHostedOrganizationIncidentOwners {
416
+ readonly detection: string;
417
+ readonly containment: string;
418
+ readonly assessment: string;
419
+ readonly recovery: string;
420
+ /** Owner-installed incident channel; metadata only, no provider errors, credentials or request bodies. */
421
+ report(event: {
422
+ readonly kind: 'authority-unavailable' | 'cleanup-unresolved' | 'unknown-effect';
423
+ readonly resources: readonly string[];
424
+ readonly operationDigest?: string;
425
+ }): Promise<void>;
426
+ }
427
+ interface IHostedOrganizationControlOptions {
428
+ readonly ledger: OrganizationLedger;
429
+ readonly audit: OrganizationAudit;
430
+ readonly actions: readonly IOrganizationAction[];
431
+ readonly inventory: IHostedOrganizationInventory;
432
+ readonly incidentOwners: IHostedOrganizationIncidentOwners;
433
+ readonly policyIntervalMs?: number;
434
+ readonly providerTimeoutMs?: number;
435
+ }
436
+ /** Owner-side company composition. No administrator operations are exposed to workers or model tools. */
437
+ declare class HostedOrganizationControl {
438
+ private readonly ledger;
439
+ private readonly audit;
440
+ private readonly broker;
441
+ private readonly inventory;
442
+ private readonly incidents;
443
+ private readonly timeout;
444
+ private readonly timer;
445
+ private readonly calls;
446
+ private sweepPending?;
447
+ private closed;
448
+ private quarantined;
449
+ constructor(options: IHostedOrganizationControlOptions);
450
+ private identity;
451
+ /** Admission uses current policy and retained audit evidence, never checkpoint authority. */
452
+ admit(worker: IHostedOrganizationWorker, signal?: AbortSignal): Promise<IOrganizationGrant>;
453
+ apply(call: IOrganizationCall, signal?: AbortSignal, onWithdrawal?: () => void): Promise<IOrganizationReceipt>;
454
+ /** Owner commands persist policy withdrawal before terminating every affected provider worker. */
455
+ private afterWithdrawal;
456
+ stopGrant(grantId: string): Promise<void>;
457
+ stopTask(tenant: string, task: string): Promise<void>;
458
+ stopTenant(tenant: string): Promise<void>;
459
+ emergencyStop(): Promise<void>;
460
+ /** Owner recovery channel only. A worker cannot supply the asset-owner confirmation capability. */
461
+ reconcileExternalOperation(request: IOrganizationRequest, assetOwner: {
462
+ confirm(operationDigest: string, signal?: AbortSignal): Promise<TOrganizationJson>;
463
+ }, signal?: AbortSignal): Promise<IOrganizationReceipt>;
464
+ sweep(): Promise<void>;
465
+ private sweepOnce;
466
+ close(): Promise<void>;
467
+ }
468
+ //#endregion
469
+ //#region src/hosted/e2b-organization-inventory.d.ts
470
+ /** Provider-backed inventory, including paused workers. Its management capability stays outside every worker. */
471
+ declare function createE2BOrganizationInventory(options: {
472
+ readonly apiKey: string;
473
+ readonly controlPlane: string;
474
+ readonly tenant: string;
475
+ readonly requestTimeoutMs?: number;
476
+ }): IHostedOrganizationInventory;
477
+ //#endregion
478
+ //#region src/hosted/hosted-organization-payloads.d.ts
479
+ /** Private owner content storage for model wire bytes; the bounded authority journal keeps only digests. */
480
+ declare class HostedOrganizationPayloads {
481
+ private readonly directory;
482
+ private constructor();
483
+ static open(directory: string): Promise<HostedOrganizationPayloads>;
484
+ private path;
485
+ put(grantId: string, bytes: Uint8Array): Promise<string>;
486
+ private persist;
487
+ /** Owner outbox manifest. Digest addressing survives a broker crash without putting request claims in audit. */
488
+ recordOperation(request: IOrganizationRequest): Promise<void>;
489
+ operation(grantId: string, digest: string): Promise<IOrganizationRequest>;
490
+ get(grantId: string, digest: string): Promise<Buffer>;
491
+ }
492
+ //#endregion
493
+ //#region src/hosted/hosted-organization-gateway.d.ts
494
+ interface IHostedOrganizationBinding {
495
+ readonly config: IHostedRuntimeConfig;
496
+ readonly grantId: string;
497
+ readonly token: string;
498
+ readonly expiresAt: number;
499
+ /** External issuer capabilities installed by the owner, never supplied by an HTTP caller. */
500
+ signAdmission(role: THostedBackendRole, bytes: Uint8Array): string;
501
+ signRequest(bytes: Uint8Array): string;
502
+ }
503
+ /** Actual stock CLI admission and OpenAI-wire ingress over durable company effects. No owner routes. */
504
+ declare function createHostedOrganizationGateway(options: {
505
+ readonly control: HostedOrganizationControl;
506
+ readonly ledger: OrganizationLedger;
507
+ readonly payloads: HostedOrganizationPayloads;
508
+ readonly bindings: readonly IHostedOrganizationBinding[];
509
+ readonly modelResource: string;
510
+ }): (request: IncomingMessage, response: ServerResponse) => void;
511
+ //#endregion
512
+ //#region src/hosted/hosted-organization-model.d.ts
513
+ interface IHostedOrganizationModelOptions {
514
+ readonly payloads: HostedOrganizationPayloads;
515
+ readonly endpoint: string;
516
+ readonly apiKey: string;
517
+ readonly model: string;
518
+ readonly roles: readonly string[];
519
+ readonly resource: string;
520
+ readonly reservation: IOrganizationUnits;
521
+ readonly maxInputBytes: number;
522
+ readonly maxOutputTokens: number;
523
+ readonly costMicrosPerToken: number;
524
+ /** Declare only an upstream contract actually supported by the owner-selected provider. */
525
+ readonly providerIdempotency: boolean;
526
+ /** Owner-selected pure input counter for the exact immutable provider request, including tools/media. */
527
+ countInputTokens(surface: 'responses' | 'chat-completions', request: Readonly<Record<string, unknown>>, signal: AbortSignal): Promise<number>;
528
+ }
529
+ /** Actual fixed-provider HTTP effect. No automatic retry; ambiguous outcomes retain the broker hold. */
530
+ declare function createHostedOrganizationModelAction(options: IHostedOrganizationModelOptions): IOrganizationAction;
531
+ //#endregion
532
+ //#region src/hosted/hosted-organization-token-counter.d.ts
533
+ /** Fixed owner counter transport. The owner encoder must preserve the provider's full input-token contract. */
534
+ declare function createHostedOrganizationInputTokenCounter(options: {
535
+ readonly endpoint: string;
536
+ readonly apiKey: string;
537
+ /** Explicit provider mapping: Responses counting accepts input/model/tools, while Chat needs its own verified counter. */
538
+ encode(surface: 'responses' | 'chat-completions', request: Readonly<Record<string, unknown>>): unknown;
539
+ }): IHostedOrganizationModelOptions['countInputTokens'];
540
+ //#endregion
541
+ //#region src/hosted/e2b-worker-process.d.ts
542
+ interface IE2BWorkerProcessOptions {
543
+ readonly command: string;
544
+ readonly cwd: string;
545
+ readonly environment: Readonly<Record<string, string>>;
546
+ readonly timeoutMs: number;
547
+ readonly pty?: {
548
+ readonly cols: number;
549
+ readonly rows: number;
550
+ };
551
+ readonly onStdout: (data: string | Uint8Array) => void;
552
+ readonly onStderr: (data: string) => void;
553
+ }
554
+ interface IE2BWorkerProcess {
555
+ wait(): Promise<number>;
556
+ sendInput(data: string | Uint8Array): Promise<void>;
557
+ closeInput(): Promise<void>;
558
+ resize(cols: number, rows: number): Promise<void>;
559
+ disconnect(): Promise<void>;
560
+ }
561
+ //#endregion
562
+ //#region src/hosted/e2b-task-worker.d.ts
563
+ /** Control-plane-only inputs. Neither the SDK credential nor its client enters a worker environment. */
564
+ interface IE2BTaskWorkerOptions {
565
+ readonly admission: IHostedAdmission;
566
+ readonly templateId: string;
567
+ readonly apiKey: string;
568
+ readonly signal: AbortSignal;
569
+ /** Only the admitted company broker host may be added to the default closed egress policy. */
570
+ readonly allowBrokerEgress?: boolean;
571
+ }
572
+ interface IE2BOwnedTaskWorker {
573
+ readonly client: ISandboxClient;
574
+ startProcess(options: IE2BWorkerProcessOptions): Promise<IE2BWorkerProcess>;
575
+ /** Withdraw access immediately, then delete the admitted task's provider resource. */
576
+ release(): Promise<void>;
577
+ }
578
+ /** Connect only the admitted resource after checking its operator-provisioned ownership and network posture. */
579
+ declare function connectE2BTaskWorker(options: IE2BTaskWorkerOptions): Promise<IE2BOwnedTaskWorker>;
580
+ //#endregion
581
+ //#region src/hosted/hosted-worker-execution-config.d.ts
582
+ /** Issued by the admitted broker, never inferred from a provider API key or a worker claim. */
583
+ interface IHostedWorkerAccess {
584
+ readonly version: 1;
585
+ readonly identity: IHostedIdentity;
586
+ readonly worker: string;
587
+ readonly broker: string;
588
+ readonly epoch: number;
589
+ readonly endpoint: string;
590
+ readonly token: string;
591
+ readonly issuedAt: number;
592
+ readonly expiresAt: number;
593
+ readonly signature: string;
594
+ }
595
+ interface IHostedWorkerResumeSession {
596
+ readonly id: string;
597
+ readonly path: string;
598
+ readonly digest: string;
599
+ }
600
+ /** Private runtime ingress; the worker gets a different, per-launch credential. */
601
+ interface IHostedWorkerServe {
602
+ readonly port: number;
603
+ readonly workerPort: number;
604
+ readonly token: string;
605
+ }
606
+ declare function hostedWorkerAccessBytes(access: Omit<IHostedWorkerAccess, 'signature'>): Buffer;
607
+ //#endregion
608
+ //#region src/hosted/e2b-worker-provisioning.d.ts
609
+ /** Owner-side input. Sign admission only after this operation returns a verified resource receipt. */
610
+ interface IE2BWorkerProvisioningOptions {
611
+ readonly identity: IHostedIdentity;
612
+ readonly epoch: number;
613
+ readonly templateId: string;
614
+ readonly apiKey: string;
615
+ readonly brokerEndpoint: string;
616
+ readonly lifetimeMs: number;
617
+ readonly requestTimeoutMs: number;
618
+ readonly signal: AbortSignal;
619
+ readonly snapshot: IHostedSnapshot | null;
620
+ /** Owner-issued organization binding retained in the provider inventory across broker restarts. */
621
+ readonly organization?: {
622
+ readonly controlPlane: string;
623
+ readonly grantId: string;
624
+ };
625
+ /** Bytes fetched from the owner's checkpoint store; never an E2B memory snapshot/template. */
626
+ readonly checkpoint?: Uint8Array;
627
+ }
628
+ interface IE2BProvisionedWorker {
629
+ readonly resource: string;
630
+ readonly workspaceRoot: string;
631
+ readonly operationId: string;
632
+ readonly resumeSession?: IHostedWorkerResumeSession;
633
+ readonly snapshot: IHostedSnapshot | null;
634
+ release(): Promise<void>;
635
+ }
636
+ /** Reconciliation identifiers, without provider error text or credentials. */
637
+ declare class E2BWorkerProvisioningError extends Error {
638
+ readonly outcome: 'allocation-unknown' | 'cleanup-unresolved';
639
+ readonly operationId: string;
640
+ readonly resource?: string | undefined;
641
+ constructor(outcome: 'allocation-unknown' | 'cleanup-unresolved', operationId: string, resource?: string | undefined);
642
+ }
643
+ /** Create from a pinned clean baseline, restoring only bounded task files before issuing any authority. */
644
+ declare function provisionE2BTaskWorker(options: IE2BWorkerProvisioningOptions): Promise<IE2BProvisionedWorker>;
645
+ //#endregion
646
+ //#region ../agent-transport/dist/node/node.d.ts
647
+ //#endregion
648
+ //#region src/node/access-token-verifier.d.ts
649
+ /** What the verifier reaches outward through. Injected in tests; defaults to the real network. */
650
+ interface IAccessTokenVerifierDeps {
651
+ readonly fetch?: IEgressDeps['fetch'];
652
+ readonly lookup?: IEgressDeps['lookup'];
653
+ /** Wall-clock milliseconds since the epoch, for `exp`/`nbf`. Defaults to `Date.now`. */
654
+ readonly now?: () => number;
655
+ /** Monotonic milliseconds, for cache age and refetch intervals. Defaults to `performance.now`. */
656
+ readonly monotonicNow?: () => number;
657
+ }
658
+ //#endregion
659
+ //#region src/hosted/desktop/authorization.d.ts
660
+ interface IDesktopBinding {
661
+ readonly id: string;
662
+ readonly user: string;
663
+ readonly client: string;
664
+ readonly session: string;
665
+ readonly worker: IHostedOrganizationWorker;
666
+ }
667
+ interface IDesktopProof {
668
+ readonly binding: IDesktopBinding;
669
+ readonly jti: string;
670
+ readonly expiresAt: number;
671
+ readonly credentialExpiresAt: number;
672
+ }
673
+ interface IDesktopAuthorizationOptions {
674
+ readonly publicUrl: string;
675
+ readonly issuer: string;
676
+ readonly control: HostedOrganizationControl;
677
+ /** Owner-selected identities and sessions, never a caller's registry. */
678
+ readonly bindings: readonly IDesktopBinding[];
679
+ readonly verifierDeps?: IAccessTokenVerifierDeps;
680
+ readonly now?: () => number;
681
+ }
682
+ /** A freshly verified issuer credential still needs current company authority and exact session ownership. */
683
+ declare class HostedDesktopAuthorization {
684
+ private readonly options;
685
+ readonly url: URL;
686
+ private readonly now;
687
+ private readonly bindings;
688
+ constructor(options: IDesktopAuthorizationOptions);
689
+ binding(id: string): IDesktopBinding;
690
+ verify(token: string, binding: IDesktopBinding, operator?: boolean, signal?: AbortSignal): Promise<IDesktopProof>;
691
+ current(binding: IDesktopBinding, signal?: AbortSignal): Promise<void>;
692
+ }
693
+ //#endregion
694
+ //#region src/hosted/desktop/authority-store.d.ts
695
+ interface IDesktopAccess {
696
+ readonly key: string;
697
+ readonly generation: number;
698
+ readonly token: string;
699
+ readonly approvalToken: string | null;
700
+ readonly expiresAt: number;
701
+ }
702
+ /** Replay and connection replacement survive restart; independent custody rejects restored authority. */
703
+ declare class HostedDesktopAuthorityStore {
704
+ private readonly now;
705
+ private readonly directory;
706
+ private readonly file;
707
+ private readonly lock;
708
+ constructor(options: {
709
+ directory: string;
710
+ anchor: IOrganizationLedgerAnchor;
711
+ create?: boolean;
712
+ }, now?: () => number);
713
+ private readonly anchor;
714
+ private head;
715
+ private read;
716
+ private locked;
717
+ private write;
718
+ private change;
719
+ pair(key: string, proofs: readonly {
720
+ readonly id: string;
721
+ readonly expiresAt: number;
722
+ }[], expiresAt: number, operator: boolean): IDesktopAccess;
723
+ authorize(key: string, generation: number, token: string, operator?: boolean): void;
724
+ connect(key: string, generation: number, token: string): void;
725
+ approveOnce(key: string, generation: number, token: string, prompt: string): void;
726
+ revoke(key: string): void;
727
+ }
728
+ //#endregion
729
+ //#region src/hosted/desktop/worker-port.d.ts
730
+ /** One owner-held carrier connection pins the worker's session across desktop reconnects. */
731
+ declare class HostedDesktopWorkerPort {
732
+ private readonly socket;
733
+ readonly worker: IHostedOrganizationWorker;
734
+ readonly session: string;
735
+ private readonly listeners;
736
+ private readonly ended;
737
+ private readonly pending;
738
+ private constructor();
739
+ static connect(options: {
740
+ readonly endpoint: string;
741
+ readonly token: string;
742
+ readonly worker: IHostedOrganizationWorker;
743
+ readonly control: HostedOrganizationControl;
744
+ readonly session?: string;
745
+ readonly signal?: AbortSignal;
746
+ }): Promise<HostedDesktopWorkerPort>;
747
+ onFrame(listener: (frame: Record<string, unknown>) => void): () => void;
748
+ onClose(listener: () => void): () => void;
749
+ ready(): void;
750
+ send(frame: Record<string, unknown>): Record<string, unknown> | undefined;
751
+ prompt(id: string, digest: string): void;
752
+ approve(id: string, digest: string, allow: boolean): void;
753
+ close(): void;
754
+ }
755
+ //#endregion
756
+ //#region src/hosted/desktop/gateway.d.ts
757
+ /** Outside workers: owns scoped ingress and a separate operator channel to one pinned task session. */
758
+ declare class HostedDesktopGateway {
759
+ private readonly options;
760
+ private readonly wss;
761
+ private readonly paired;
762
+ private readonly active;
763
+ private readonly names;
764
+ private readonly proxies;
765
+ private readonly interval;
766
+ private closed;
767
+ private readonly upgrades;
768
+ constructor(options: {
769
+ readonly server: Server;
770
+ readonly authorization: HostedDesktopAuthorization;
771
+ readonly store: HostedDesktopAuthorityStore;
772
+ readonly ports: ReadonlyMap<string, HostedDesktopWorkerPort>;
773
+ readonly trustedProxies?: readonly string[];
774
+ readonly policyIntervalMs?: number;
775
+ });
776
+ private boundary;
777
+ private bounded;
778
+ private body;
779
+ private readonly request;
780
+ private handle;
781
+ private readonly upgrade;
782
+ private connect;
783
+ private attach;
784
+ /** Owner-only withdrawal; no administrator route is exposed. */
785
+ revoke(binding: string): void;
786
+ close(): Promise<void>;
787
+ }
788
+ //#endregion
789
+ export { E2BWorkerProvisioningError, HostedDesktopAuthorityStore, HostedDesktopAuthorization, HostedDesktopGateway, HostedDesktopWorkerPort, HostedOrganizationControl, HostedOrganizationPayloads, HostedRuntimeController, type IDesktopAuthorizationOptions, type IDesktopBinding, type IE2BOwnedTaskWorker, type IE2BProvisionedWorker, type IE2BTaskWorkerOptions, type IE2BWorkerProvisioningOptions, type IHostedAdmission, type IHostedAdmissionProof, type IHostedOrganizationBinding, type IHostedOrganizationControlOptions, type IHostedOrganizationIncidentOwners, type IHostedOrganizationInventory, type IHostedOrganizationModelOptions, type IHostedOrganizationWorker, type IHostedRuntimeConfig, type IHostedRuntimeControl, type IHostedRuntimeControllerOptions, type IHostedRuntimeExecutor, type IHostedRuntimeInvocation, type IHostedRuntimeUsage, type IHostedWorkerAccess, type IHostedWorkerResumeSession, type IHostedWorkerServe, type IProductCliArtifact, type IProductCliHost, type IStartCliOptions, type THostedRuntimeExecutorFactory, type THostedRuntimeState, connectE2BTaskWorker, createE2BOrganizationInventory, createHostedOrganizationGateway, createHostedOrganizationInputTokenCounter, createHostedOrganizationModelAction, createProductCliHost, hostedAdmissionBytes, hostedWorkerAccessBytes, provisionE2BTaskWorker, startCli, startCliEntry };
790
+ //# sourceMappingURL=index.d.ts.map