agl 41.0.1 → 41.2.0
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 +24 -0
- package/dist_serve/bundle.js +1448 -1448
- package/dist_serve/bundle.js.map +2 -2
- package/dist_ts/00_commitinfo_data.js +1 -1
- package/dist_ts/aglapi/aglapisurface.document.js +7 -3
- package/dist_ts/classes.authmodels.d.ts +15 -0
- package/dist_ts/classes.authmodels.js +78 -7
- package/dist_ts/classes.authstore.js +23 -6
- package/dist_ts/classes.cli.js +8 -3
- package/dist_ts/classes.controller.d.ts +13 -0
- package/dist_ts/classes.controller.js +51 -14
- package/dist_ts/classes.controllermanagement.d.ts +53 -6
- package/dist_ts/classes.controllermanagement.js +180 -72
- package/dist_ts/classes.inferencegateway.d.ts +6 -6
- package/dist_ts/classes.inferencegateway.js +28 -15
- package/dist_ts/classes.inferenceusage.d.ts +19 -7
- package/dist_ts/classes.inferenceusage.js +49 -13
- package/dist_ts/classes.inferenceusagetap.d.ts +15 -3
- package/dist_ts/classes.inferenceusagetap.js +16 -9
- package/dist_ts/classes.processinspection.d.ts +3 -1
- package/dist_ts/classes.processinspection.js +4 -2
- package/dist_ts/classes.proxycontrol.d.ts +22 -7
- package/dist_ts/classes.proxycontrol.js +5 -3
- package/dist_ts/classes.proxycontrolclient.d.ts +4 -3
- package/dist_ts/classes.proxycontrolclient.js +7 -5
- package/dist_ts/classes.proxydaemon.d.ts +6 -4
- package/dist_ts/classes.proxydaemon.js +42 -17
- package/dist_ts/classes.proxyleaseholder.d.ts +11 -2
- package/dist_ts/classes.proxyleaseholder.js +25 -2
- package/dist_ts/classes.proxystore.d.ts +3 -2
- package/dist_ts/classes.proxystore.js +5 -2
- package/dist_ts/classes.upgradecoordinator.d.ts +2 -1
- package/dist_ts/classes.upgradecoordinator.js +13 -10
- package/dist_ts/classes.upgradetransaction.d.ts +6 -0
- package/dist_ts/classes.upgradetransaction.js +38 -13
- package/dist_ts/classes.usagefeed.js +3 -2
- package/dist_ts/functions.controllermanagementsurface.d.ts +37 -0
- package/dist_ts/functions.controllermanagementsurface.js +110 -0
- package/dist_ts/functions.inferencecli.d.ts +6 -3
- package/dist_ts/functions.inferencecli.js +9 -5
- package/dist_ts/functions.inferencecliarguments.d.ts +1 -1
- package/dist_ts/functions.inferencecliarguments.js +19 -7
- package/dist_ts/functions.inferencelaunch.d.ts +30 -9
- package/dist_ts/functions.inferencelaunch.js +49 -23
- package/dist_ts/interfaces.auth.d.ts +14 -3
- package/dist_ts/interfaces.auth.js +4 -3
- package/dist_ts_interfaces/index.d.ts +1 -0
- package/dist_ts_interfaces/index.js +2 -1
- package/dist_ts_interfaces/interfaces.d.ts +6 -1
- package/dist_ts_interfaces/interfaces.js +2 -2
- package/dist_ts_interfaces/management.d.ts +33 -0
- package/dist_ts_interfaces/management.js +35 -0
- package/dist_ts_interfaces/metrics.d.ts +29 -7
- package/dist_ts_interfaces/metrics.js +14 -1
- package/package.json +6 -5
- package/readme.md +123 -28
- package/ts/00_commitinfo_data.ts +1 -1
- package/ts/aglapi/aglapisurface.document.ts +6 -2
- package/ts/classes.authmodels.ts +74 -5
- package/ts/classes.authstore.ts +24 -4
- package/ts/classes.cli.ts +9 -2
- package/ts/classes.controller.ts +98 -59
- package/ts/classes.controllermanagement.ts +284 -107
- package/ts/classes.inferencegateway.ts +31 -19
- package/ts/classes.inferenceusage.ts +58 -19
- package/ts/classes.inferenceusagetap.ts +27 -8
- package/ts/classes.processinspection.ts +2 -1
- package/ts/classes.proxycontrol.ts +25 -9
- package/ts/classes.proxycontrolclient.ts +7 -4
- package/ts/classes.proxydaemon.ts +43 -17
- package/ts/classes.proxyleaseholder.ts +36 -7
- package/ts/classes.proxystore.ts +8 -3
- package/ts/classes.upgradecoordinator.ts +20 -11
- package/ts/classes.upgradetransaction.ts +53 -2
- package/ts/classes.usagefeed.ts +2 -1
- package/ts/functions.controllermanagementsurface.ts +149 -0
- package/ts/functions.inferencecli.ts +15 -7
- package/ts/functions.inferencecliarguments.ts +16 -6
- package/ts/functions.inferencelaunch.ts +57 -23
- package/ts/interfaces.auth.ts +14 -3
- package/ts_interfaces/index.ts +1 -0
- package/ts_interfaces/interfaces.ts +6 -1
- package/ts_interfaces/management.ts +52 -0
- package/ts_interfaces/metrics.ts +34 -7
- package/ts_web/00_commitinfo_data.ts +1 -1
- package/ts_web/classes.controllersocketclient.ts +5 -2
- package/ts_web/elements.metricsboard.ts +68 -18
|
@@ -21,28 +21,42 @@ const claudeNativeLaunch = (optionsArg) => {
|
|
|
21
21
|
} };
|
|
22
22
|
};
|
|
23
23
|
/**
|
|
24
|
-
* Claude Code on a ChatGPT pool: the proxy's Anthropic Messages endpoint
|
|
25
|
-
* for every model alias, the context window the catalog states for it, and
|
|
26
|
-
*
|
|
27
|
-
*
|
|
24
|
+
* The variables that put Claude Code on a ChatGPT pool: the proxy's Anthropic Messages endpoint and credential, the
|
|
25
|
+
* pool's default model for every model alias, the context window the catalog states for it, and nothing beyond its model
|
|
26
|
+
* requests: no experimental betas, no nonessential traffic, no attribution. `agl proxy run claude --provider openai` and a
|
|
27
|
+
* ChatGPT-pool confined run give Claude Code these alike.
|
|
28
28
|
*/
|
|
29
|
-
export const
|
|
29
|
+
export const claudeChatGptEnvironment = (inputArg) => {
|
|
30
30
|
const model = inputArg.models.find((entryArg) => entryArg.isDefault) ?? inputArg.models[0];
|
|
31
31
|
if (!model)
|
|
32
32
|
throw new Error('The ChatGPT pool offers no model Claude Code can run on.');
|
|
33
|
+
return {
|
|
34
|
+
ANTHROPIC_BASE_URL: inputArg.baseUrl,
|
|
35
|
+
ANTHROPIC_AUTH_TOKEN: inputArg.token,
|
|
36
|
+
ANTHROPIC_MODEL: model.modelId,
|
|
37
|
+
ANTHROPIC_DEFAULT_OPUS_MODEL: model.modelId,
|
|
38
|
+
ANTHROPIC_DEFAULT_SONNET_MODEL: model.modelId,
|
|
39
|
+
ANTHROPIC_DEFAULT_HAIKU_MODEL: model.modelId,
|
|
40
|
+
...(model.contextWindow === undefined ? {} : { CLAUDE_CODE_MAX_CONTEXT_TOKENS: String(model.contextWindow) }),
|
|
41
|
+
CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS: '1',
|
|
42
|
+
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC: '1',
|
|
43
|
+
CLAUDE_CODE_ATTRIBUTION_HEADER: '0',
|
|
44
|
+
};
|
|
45
|
+
};
|
|
46
|
+
/** Every variable `claudeChatGptEnvironment` may set, the context window's included. */
|
|
47
|
+
const claudeChatGptVariables = ['ANTHROPIC_BASE_URL', 'ANTHROPIC_AUTH_TOKEN', 'ANTHROPIC_MODEL',
|
|
48
|
+
'ANTHROPIC_DEFAULT_OPUS_MODEL', 'ANTHROPIC_DEFAULT_SONNET_MODEL', 'ANTHROPIC_DEFAULT_HAIKU_MODEL',
|
|
49
|
+
'CLAUDE_CODE_MAX_CONTEXT_TOKENS', 'CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS', 'CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC',
|
|
50
|
+
'CLAUDE_CODE_ATTRIBUTION_HEADER'];
|
|
51
|
+
/**
|
|
52
|
+
* Claude Code on a ChatGPT pool (`claudeChatGptEnvironment`), with the pool's models as the whole `/model` picker. Its
|
|
53
|
+
* configuration lives in its own directory, never the host's, so the host's `settings.json` cannot route it elsewhere.
|
|
54
|
+
*/
|
|
55
|
+
export const claudeChatGptLaunch = (inputArg) => {
|
|
33
56
|
return {
|
|
34
57
|
environment: {
|
|
35
58
|
CLAUDE_CONFIG_DIR: inputArg.configDirectory,
|
|
36
|
-
|
|
37
|
-
ANTHROPIC_AUTH_TOKEN: inputArg.token,
|
|
38
|
-
ANTHROPIC_MODEL: model.modelId,
|
|
39
|
-
ANTHROPIC_DEFAULT_OPUS_MODEL: model.modelId,
|
|
40
|
-
ANTHROPIC_DEFAULT_SONNET_MODEL: model.modelId,
|
|
41
|
-
ANTHROPIC_DEFAULT_HAIKU_MODEL: model.modelId,
|
|
42
|
-
...(model.contextWindow === undefined ? {} : { CLAUDE_CODE_MAX_CONTEXT_TOKENS: String(model.contextWindow) }),
|
|
43
|
-
CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS: '1',
|
|
44
|
-
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC: '1',
|
|
45
|
-
CLAUDE_CODE_ATTRIBUTION_HEADER: '0',
|
|
59
|
+
...claudeChatGptEnvironment(inputArg),
|
|
46
60
|
},
|
|
47
61
|
args: ['--settings', JSON.stringify({
|
|
48
62
|
modelPicker: {
|
|
@@ -125,11 +139,15 @@ export const inferenceHarnessLaunch = (optionsArg) => {
|
|
|
125
139
|
* `aglProxyConfinedMountPoint` and Claude Code's settings for it added right after `run`, before the launcher's own
|
|
126
140
|
* options and image. Claude Code inside reaches the proxy through the socket alone (`ANTHROPIC_UNIX_SOCKET`, which
|
|
127
141
|
* Claude Code sends its API requests through as plain HTTP to `ANTHROPIC_BASE_URL`'s path), on the run's credential
|
|
128
|
-
* (`ANTHROPIC_AUTH_TOKEN`),
|
|
129
|
-
*
|
|
130
|
-
*
|
|
131
|
-
*
|
|
132
|
-
*
|
|
142
|
+
* (`ANTHROPIC_AUTH_TOKEN`), and sends nothing beyond its model requests. On the Claude pool it reads the pool's models
|
|
143
|
+
* from the proxy; on the ChatGPT pool it gets the variables `agl proxy run claude --provider openai` gives it
|
|
144
|
+
* (`claudeChatGptEnvironment`: the pool's default model for every alias, its context window), but neither that command's
|
|
145
|
+
* configuration directory, which lies in the AGL home, nor its `/model` picker, an option of the container's command
|
|
146
|
+
* that the launcher does not touch. The container gets each variable by name from the docker command's environment, so
|
|
147
|
+
* the credential never appears on a command line; that environment drops every variable that would give Claude Code
|
|
148
|
+
* another login or route, and on the ChatGPT pool every model variable it sets, so `-e NAME` of one of them passes
|
|
149
|
+
* nothing. The mount is the socket's own directory, which holds nothing else and survives a proxy restart, unlike a
|
|
150
|
+
* mount of the socket file. Only `docker run` and `docker container run` are taken.
|
|
133
151
|
*/
|
|
134
152
|
export const confinedDockerLaunch = (optionsArg) => {
|
|
135
153
|
const [command, ...args] = optionsArg.args;
|
|
@@ -141,14 +159,22 @@ export const confinedDockerLaunch = (optionsArg) => {
|
|
|
141
159
|
// `--mount` separates its fields with commas and reads quotes; a directory naming either cannot be passed safely.
|
|
142
160
|
if (/[,"'\n]/u.test(directory))
|
|
143
161
|
throw new Error(`The confined listener's directory ${directory} cannot be mounted: it holds a comma, quote or line break.`);
|
|
144
|
-
const
|
|
162
|
+
const socket = `${aglProxyConfinedMountPoint}/${path.basename(optionsArg.socketPath)}`;
|
|
163
|
+
const variables = optionsArg.pool.provider === 'anthropic' ? {
|
|
145
164
|
...claudeProxyEnvironment(optionsArg.baseUrl),
|
|
146
|
-
ANTHROPIC_UNIX_SOCKET:
|
|
165
|
+
ANTHROPIC_UNIX_SOCKET: socket,
|
|
147
166
|
ANTHROPIC_AUTH_TOKEN: optionsArg.token,
|
|
167
|
+
} : {
|
|
168
|
+
...claudeChatGptEnvironment({ baseUrl: `${optionsArg.baseUrl}/anthropic`, token: optionsArg.token,
|
|
169
|
+
models: optionsArg.pool.models }),
|
|
170
|
+
ANTHROPIC_UNIX_SOCKET: socket,
|
|
148
171
|
};
|
|
149
172
|
const environment = { ...optionsArg.environment };
|
|
150
173
|
for (const name of claudeProxyReservedVariables)
|
|
151
174
|
delete environment[name];
|
|
175
|
+
if (optionsArg.pool.provider === 'openai')
|
|
176
|
+
for (const name of claudeChatGptVariables)
|
|
177
|
+
delete environment[name];
|
|
152
178
|
return {
|
|
153
179
|
command,
|
|
154
180
|
args: [...args.slice(0, runAt),
|
|
@@ -158,4 +184,4 @@ export const confinedDockerLaunch = (optionsArg) => {
|
|
|
158
184
|
environment: { ...environment, ...variables },
|
|
159
185
|
};
|
|
160
186
|
};
|
|
161
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuY3Rpb25zLmluZmVyZW5jZWxhdW5jaC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzL2Z1bmN0aW9ucy5pbmZlcmVuY2VsYXVuY2gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLElBQUksTUFBTSxXQUFXLENBQUM7QUFHbEMsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDMUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLHNCQUFzQixFQUFFLDRCQUE0QixFQUFFLHNCQUFzQixFQUFFLGtCQUFrQixFQUMzSCxxQkFBcUIsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBY3ZGOzs7OztHQUtHO0FBQ0gsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLFVBQTRFLEVBQXNELEVBQUU7SUFDOUosTUFBTSxXQUFXLEdBQUcsRUFBRSxHQUFHLFVBQVUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNsRCxLQUFLLE1BQU0sSUFBSSxJQUFJLHNCQUFzQjtRQUFFLE9BQU8sV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3BFLElBQUksVUFBVSxDQUFDLE9BQU8sS0FBSyxTQUFTLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxPQUFPLEtBQUssVUFBVSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7UUFDekgsTUFBTSxJQUFJLEtBQUssQ0FBQywwRUFBMEUsQ0FBQyxDQUFDO0lBQzlGLENBQUM7SUFDRCxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsV0FBVyxFQUFFLEVBQUUsR0FBRyxXQUFXO1lBQ2hFLEdBQUcsc0JBQXNCLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQztZQUM3QyxvQkFBb0IsRUFBRSxVQUFVLENBQUMsS0FBSztZ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
|
|
187
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuY3Rpb25zLmluZmVyZW5jZWxhdW5jaC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzL2Z1bmN0aW9ucy5pbmZlcmVuY2VsYXVuY2gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLElBQUksTUFBTSxXQUFXLENBQUM7QUFHbEMsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDMUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLHNCQUFzQixFQUFFLDRCQUE0QixFQUFFLHNCQUFzQixFQUFFLGtCQUFrQixFQUMzSCxxQkFBcUIsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBY3ZGOzs7OztHQUtHO0FBQ0gsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLFVBQTRFLEVBQXNELEVBQUU7SUFDOUosTUFBTSxXQUFXLEdBQUcsRUFBRSxHQUFHLFVBQVUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNsRCxLQUFLLE1BQU0sSUFBSSxJQUFJLHNCQUFzQjtRQUFFLE9BQU8sV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3BFLElBQUksVUFBVSxDQUFDLE9BQU8sS0FBSyxTQUFTLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxPQUFPLEtBQUssVUFBVSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7UUFDekgsTUFBTSxJQUFJLEtBQUssQ0FBQywwRUFBMEUsQ0FBQyxDQUFDO0lBQzlGLENBQUM7SUFDRCxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsV0FBVyxFQUFFLEVBQUUsR0FBRyxXQUFXO1lBQ2hFLEdBQUcsc0JBQXNCLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQztZQUM3QyxvQkFBb0IsRUFBRSxVQUFVLENBQUMsS0FBSztZ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
|
|
@@ -6,9 +6,10 @@ export type TControllerAuthLifecycleState = 'setupRequired' | 'ready';
|
|
|
6
6
|
export type TWebAuthnCeremonyKind = 'setup' | 'authentication';
|
|
7
7
|
export type TWebAuthnCeremonyState = 'pending' | 'consumed';
|
|
8
8
|
/**
|
|
9
|
-
* Single source of the audit
|
|
9
|
+
* Single source of the audit types this release writes: the persisted-document
|
|
10
10
|
* assertion consumes this list at runtime, so a type added here is
|
|
11
|
-
* automatically storable — the two can no longer
|
|
11
|
+
* automatically storable with its type-specific checks — the two can no longer
|
|
12
|
+
* drift apart. Other well-formed types are a later release's and still read.
|
|
12
13
|
*/
|
|
13
14
|
export declare const controllerAuditEventTypes: readonly ['controller.started', 'controller.stopped', 'setup.finish', 'authentication.finish', 'authentication.logout', 'temppassword.create', 'temppassword.login', 'auth.resume', 'auth.handoff', 'auth.signout', 'session.list', 'conversation.list', 'conversation.search', 'conversation.open', 'conversation.archive', 'conversation.reopen', 'session.read', 'session.auxiliary.read', 'session.model.update', 'session.mode.update', 'session.scratchpad.save', 'session.intelligence.ask', 'session.messages.page', 'session.message.read', 'session.create', 'session.delete', 'session.discard-empty', 'session.send', 'session.message', 'session.abort', 'session.harness.restart', 'opencode.restart', 'controller.restart', 'session.compaction.update', 'session.limitresume.update', 'session.promptqueue.release', 'session.heldprompt.release', 'session.pendingprompt.edit', 'session.pendingprompt.retract', 'session.rename', 'session.archive', 'session.yolo', 'session.builtin', 'slash.list', 'slash.execute', 'permission.reply', 'question.reply', 'project.list', 'project.create', 'project.remove', 'project.removal.retry', 'project.agentmessages.update', 'model.list', 'provider.list', 'provider.connection.list', 'provider.login.begin', 'authswitch.request', 'accounts.rename', 'accounts.maxusage', 'accounts.reserve.lift', 'accounts.apikey.add', 'accounts.spendlimit', 'accounts.remove', 'accounts.add', 'accounts.reauth', 'accounts.operation.cancel', 'accounts.preuse.start', 'accounts.preuse.cancel', 'accounts.claude.signin.start', 'accounts.claude.signin.cancel', 'accounts.claude.adopt', 'accounts.claude.release', 'accounts.claude.repair', 'accounts.codex.adopt', 'accounts.codex.release', 'provider.login.read', 'provider.login.cancel', 'provider.connection.logout', 'provider.connection.activate-opencode', 'provider.connection.ratelimits.read', 'provider.model.refresh.begin', 'provider.model.refresh.read', 'command.list', 'session.command', 'settings.read', 'settings.update', 'sessiongroups.read', 'sessiongroups.update', 'terminal.list', 'terminal.create', 'terminal.rename', 'terminal.remove', 'terminal.attach', 'resource.list', 'resource.create', 'resource.rename', 'resource.attach', 'resource.detach', 'resource.start', 'resource.stop', 'resource.retire', 'resource.workspace.base', 'resource.workspace.write', 'resource.workspace.mkdir', 'resource.workspace.remove', 'resource.workspace.rename', 'resource.workspace.copy', 'resource.workspace.reveal', 'configuration.target.bind', 'configuration.owner.issue', 'configuration.owner.revoke', 'configuration.state', 'configuration.master.get', 'configuration.master.save', 'configuration.project', 'configuration.review', 'configuration.apply', 'configuration.restore.review', 'configuration.restore', 'configuration.operation.retry', 'configuration.operation.recover', 'configuration.operation.abandon', 'resource.browser.operation', 'resource.browser.view.open', 'resource.browser.view.close', 'resource.browser.view.operate', 'resource.browser.paint.rearm'];
|
|
14
15
|
export type TControllerAuditEventType = (typeof controllerAuditEventTypes)[number];
|
|
@@ -79,11 +80,16 @@ export interface ISetupAuthority {
|
|
|
79
80
|
* BrowserRuntime qualifies it.
|
|
80
81
|
*/
|
|
81
82
|
export type TControllerAuditSessionId = IControllerRuntimeId | plugins.browserRuntime.IBrowserClaudeSessionId;
|
|
83
|
+
/**
|
|
84
|
+
* A stored audit event. The audit log is shared with later releases, so a stored `type` is any audit type, also one
|
|
85
|
+
* this release does not know (a later release's, read back after a rollback). This release writes only its own types
|
|
86
|
+
* (`IRecordAuditEventInput`).
|
|
87
|
+
*/
|
|
82
88
|
export interface IControllerAuditEvent {
|
|
83
89
|
id: string;
|
|
84
90
|
controllerId: string;
|
|
85
91
|
timestamp: Date;
|
|
86
|
-
type:
|
|
92
|
+
type: string;
|
|
87
93
|
outcome: TControllerAuditOutcome;
|
|
88
94
|
operationId?: string;
|
|
89
95
|
peerId?: string;
|
|
@@ -93,6 +99,11 @@ export interface IControllerAuditEvent {
|
|
|
93
99
|
/** The sender label an agent message declared (`session.message`). */
|
|
94
100
|
senderLabel?: string;
|
|
95
101
|
localCli?: IConfigurationLocalCliActor;
|
|
102
|
+
/**
|
|
103
|
+
* What a later release's type records beyond the envelope (bounded plain JSON). This release never writes or
|
|
104
|
+
* interprets it; it is declared so a rolled-back controller still reads and prunes such events.
|
|
105
|
+
*/
|
|
106
|
+
details?: Record<string, unknown>;
|
|
96
107
|
}
|
|
97
108
|
export interface IControllerTempPasswordDocument {
|
|
98
109
|
id: string;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Single source of the audit
|
|
2
|
+
* Single source of the audit types this release writes: the persisted-document
|
|
3
3
|
* assertion consumes this list at runtime, so a type added here is
|
|
4
|
-
* automatically storable — the two can no longer
|
|
4
|
+
* automatically storable with its type-specific checks — the two can no longer
|
|
5
|
+
* drift apart. Other well-formed types are a later release's and still read.
|
|
5
6
|
*/
|
|
6
7
|
export const controllerAuditEventTypes = [
|
|
7
8
|
'controller.started',
|
|
@@ -141,4 +142,4 @@ export class AuthError extends Error {
|
|
|
141
142
|
this.code = codeArg;
|
|
142
143
|
}
|
|
143
144
|
}
|
|
144
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
145
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlcy5hdXRoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHMvaW50ZXJmYWNlcy5hdXRoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVFBOzs7OztHQUtHO0FBQ0gsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUc7SUFDdkMsb0JBQW9CO0lBQ3BCLG9CQUFvQjtJQUNwQixjQUFjO0lBQ2QsdUJBQXVCO0lBQ3ZCLHVCQUF1QjtJQUN2QixxQkFBcUI7SUFDckIsb0JBQW9CO0lBQ3BCLGFBQWE7SUFDYixjQUFjO0lBQ2QsY0FBYztJQUNkLGNBQWM7SUFDZCxtQkFBbUI7SUFDbkIscUJBQXFCO0lBQ3JCLG1CQUFtQjtJQUNuQixzQkFBc0I7SUFDdEIscUJBQXFCO0lBQ3JCLGNBQWM7SUFDZCx3QkFBd0I7SUFDeEIsc0JBQXNCO0lBQ3RCLHFCQUFxQjtJQUNyQix5QkFBeUI7SUFDekIsMEJBQTBCO0lBQzFCLHVCQUF1QjtJQUN2QixzQkFBc0I7SUFDdEIsZ0JBQWdCO0lBQ2hCLGdCQUFnQjtJQUNoQix1QkFBdUI7SUFDdkIsY0FBYztJQUNkLGlCQUFpQjtJQUNqQixlQUFlO0lBQ2YseUJBQXlCO0lBQ3pCLGtCQUFrQjtJQUNsQixvQkFBb0I7SUFDcEIsMkJBQTJCO0lBQzNCLDRCQUE0QjtJQUM1Qiw2QkFBNkI7SUFDN0IsNEJBQTRCO0lBQzVCLDRCQUE0QjtJQUM1QiwrQkFBK0I7SUFDL0IsZ0JBQWdCO0lBQ2hCLGlCQUFpQjtJQUNqQixjQUFjO0lBQ2QsaUJBQWlCO0lBQ2pCLFlBQVk7SUFDWixlQUFlO0lBQ2Ysa0JBQWtCO0lBQ2xCLGdCQUFnQjtJQUNoQixjQUFjO0lBQ2QsZ0JBQWdCO0lBQ2hCLGdCQUFnQjtJQUNoQix1QkFBdUI7SUFDdkIsOEJBQThCO0lBQzlCLFlBQVk7SUFDWixlQUFlO0lBQ2YsMEJBQTBCO0lBQzFCLHNCQUFzQjtJQUN0QixvQkFBb0I7SUFDcEIsaUJBQWlCO0lBQ2pCLG1CQUFtQjtJQUNuQix1QkFBdUI7SUFDdkIscUJBQXFCO0lBQ3JCLHFCQUFxQjtJQUNyQixpQkFBaUI7SUFDakIsY0FBYztJQUNkLGlCQUFpQjtJQUNqQiwyQkFBMkI7SUFDM0IsdUJBQXVCO0lBQ3ZCLHdCQUF3QjtJQUN4Qiw4QkFBOEI7SUFDOUIsK0JBQStCO0lBQy9CLG9IQUFvSDtJQUNwSCx1QkFBdUI7SUFDdkIseUJBQXlCO0lBQ3pCLHdCQUF3QjtJQUN4QixzQkFBc0I7SUFDdEIsd0JBQXdCO0lBQ3hCLHFCQUFxQjtJQUNyQix1QkFBdUI7SUFDdkIsNEJBQTRCO0lBQzVCLHVDQUF1QztJQUN2QyxxQ0FBcUM7SUFDckMsOEJBQThCO0lBQzlCLDZCQUE2QjtJQUM3QixjQUFjO0lBQ2QsaUJBQWlCO0lBQ2pCLGVBQWU7SUFDZixpQkFBaUI7SUFDakIsb0JBQW9CO0lBQ3BCLHNCQUFzQjtJQUN0QixlQUFlO0lBQ2YsaUJBQWlCO0lBQ2pCLGlCQUFpQjtJQUNqQixpQkFBaUI7SUFDakIsaUJBQWlCO0lBQ2pCLGVBQWU7SUFDZixpQkFBaUI7SUFDakIsaUJBQWlCO0lBQ2pCLGlCQUFpQjtJQUNqQixpQkFBaUI7SUFDakIsZ0JBQWdCO0lBQ2hCLGVBQWU7SUFDZixpQkFBaUI7SUFDakIseUJBQXlCO0lBQ3pCLDBCQUEwQjtJQUMxQiwwQkFBMEI7SUFDMUIsMkJBQTJCO0lBQzNCLDJCQUEyQjtJQUMzQix5QkFBeUI7SUFDekIsMkJBQTJCO0lBQzNCLDJCQUEyQjtJQUMzQiwyQkFBMkI7SUFDM0IsNEJBQTRCO0lBQzVCLHFCQUFxQjtJQUNyQiwwQkFBMEI7SUFDMUIsMkJBQTJCO0lBQzNCLHVCQUF1QjtJQUN2QixzQkFBc0I7SUFDdEIscUJBQXFCO0lBQ3JCLDhCQUE4QjtJQUM5Qix1QkFBdUI7SUFDdkIsK0JBQStCO0lBQy9CLGlDQUFpQztJQUNqQyxpQ0FBaUM7SUFDakMsNEJBQTRCO0lBQzVCLDRCQUE0QjtJQUM1Qiw2QkFBNkI7SUFDN0IsK0JBQStCO0lBQy9CLDhCQUE4QjtDQUN0QixDQUFDO0FBNEJYLE1BQU0sT0FBTyxTQUFVLFNBQVEsS0FBSztJQUNsQixJQUFJLENBQWlCO0lBRXJDLFlBQVksT0FBdUIsRUFBRSxVQUFrQixFQUFFLFVBQXlCO1FBQ2hGLEtBQUssQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLElBQUksR0FBRyxXQUFXLENBQUM7UUFDeEIsSUFBSSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUM7SUFDdEIsQ0FBQztDQUNGIn0=
|
|
@@ -9,6 +9,7 @@ export * from './functions.browserpaintcopy.js';
|
|
|
9
9
|
export * from './devtools.js';
|
|
10
10
|
export * from './requests.js';
|
|
11
11
|
export * from './mcprequests.js';
|
|
12
|
+
export * from './management.js';
|
|
12
13
|
export * from './codex.js';
|
|
13
14
|
export * from './mcpworkspacerequests.js';
|
|
14
15
|
export * from './mcpjobrequests.js';
|
|
@@ -9,6 +9,7 @@ export * from './functions.browserpaintcopy.js';
|
|
|
9
9
|
export * from './devtools.js';
|
|
10
10
|
export * from './requests.js';
|
|
11
11
|
export * from './mcprequests.js';
|
|
12
|
+
export * from './management.js';
|
|
12
13
|
export * from './codex.js';
|
|
13
14
|
export * from './mcpworkspacerequests.js';
|
|
14
15
|
export * from './mcpjobrequests.js';
|
|
@@ -29,4 +30,4 @@ export * from './requests.driver.js';
|
|
|
29
30
|
export * from './sessionfeed.js';
|
|
30
31
|
export * from './nativesessions.js';
|
|
31
32
|
export * from './metrics.js';
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90c19pbnRlcmZhY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxxQkFBcUIsQ0FBQztBQUVwQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxjQUFjLENBQUMifQ==
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { ILiveBrowserDialog, ILiveBrowserDialogResponse, ILiveVideoOffer, ILiveVideoDescription, ILiveVideoStatistics, ILiveVideoAcceleration } from '@push.rocks/smartbrowser/web';
|
|
2
2
|
import type { IControllerBrowserPaintSource, IControllerBrowserPresentationState, TControllerBrowserPaintAvailability, TControllerBrowserPaintTermination } from './browserpaint.js';
|
|
3
|
-
export declare const controllerProtocolVersion:
|
|
3
|
+
export declare const controllerProtocolVersion: 47;
|
|
4
4
|
export declare const controllerUpgradeManagementVersion: 2;
|
|
5
5
|
export declare const controllerPackageName: 'agl';
|
|
6
6
|
/** The systemd user unit `agl service install` writes; a controller it runs reports it in its status. */
|
|
@@ -274,6 +274,11 @@ export interface IControllerStatus {
|
|
|
274
274
|
packageVersion: string;
|
|
275
275
|
protocolVersion: typeof controllerProtocolVersion;
|
|
276
276
|
upgradeManagementVersion: number;
|
|
277
|
+
/**
|
|
278
|
+
* The protocol of the controller's loopback management endpoint (`controllerManagementProtocolVersion`); absent
|
|
279
|
+
* from a controller older than the endpoint, which is reached over its socket.
|
|
280
|
+
*/
|
|
281
|
+
managementProtocolVersion?: number;
|
|
277
282
|
controllerPid: number;
|
|
278
283
|
processGroupId: number;
|
|
279
284
|
processFingerprint: string;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export const controllerProtocolVersion =
|
|
1
|
+
export const controllerProtocolVersion = 47;
|
|
2
2
|
export const controllerUpgradeManagementVersion = 2;
|
|
3
3
|
export const controllerPackageName = 'agl';
|
|
4
4
|
/** The systemd user unit `agl service install` writes; a controller it runs reports it in its status. */
|
|
@@ -210,4 +210,4 @@ export const controllerEventTypes = [
|
|
|
210
210
|
'sessionfeed.changed',
|
|
211
211
|
'usage.changed',
|
|
212
212
|
];
|
|
213
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
213
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzX2ludGVyZmFjZXMvaW50ZXJmYWNlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFPQSxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyxFQUFXLENBQUM7QUFDckQsTUFBTSxDQUFDLE1BQU0sa0NBQWtDLEdBQUcsQ0FBVSxDQUFDO0FBQzdELE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLEtBQWMsQ0FBQztBQUNwRCx5R0FBeUc7QUFDekcsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsd0JBQWlDLENBQUM7QUFDM0UsTUFBTSxDQUFDLE1BQU0sMkJBQTJCLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQztBQUNyRCxNQUFNLENBQUMsTUFBTSxrQ0FBa0MsR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDO0FBQzdELE1BQU0sQ0FBQyxNQUFNLHFDQUFxQyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUM7QUFDL0QsTUFBTSxDQUFDLE1BQU0sbUNBQW1DLEdBQUcsRUFBRSxDQUFDO0FBQ3RELE1BQU0sQ0FBQyxNQUFNLCtCQUErQixHQUFHLEdBQUcsQ0FBQztBQUNuRCxNQUFNLENBQUMsTUFBTSxnQ0FBZ0MsR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDO0FBQzNEOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSwrQkFBK0IsR0FDMUMsOERBQXVFLENBQUM7QUFDMUUsTUFBTSxDQUFDLE1BQU0sMkJBQTJCLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQztBQUNyRCxNQUFNLENBQUMsTUFBTSw2QkFBNkIsR0FBRyxDQUFDLENBQUM7QUFDL0MsTUFBTSxDQUFDLE1BQU0saUNBQWlDLEdBQUcsRUFBRSxHQUFHLElBQUksR0FBRyxJQUFJLENBQUM7QUFDbEUsTUFBTSxDQUFDLE1BQU0sc0NBQXNDLEdBQUcsRUFBRSxHQUFHLElBQUksR0FBRyxJQUFJLENBQUM7QUFDdkUsTUFBTSxD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
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { IReq_ControllerStatus } from './requests.status.js';
|
|
2
|
+
import type { IReq_ControllerUpgradeFinalize, IReq_ControllerUpgradeLaunch, IReq_ControllerUpgradePrepareBegin } from './requests.upgrade.js';
|
|
3
|
+
/**
|
|
4
|
+
* The controller's loopback management endpoint, on the controller's own port: one TypedRequest envelope
|
|
5
|
+
* (`method`, `request`, `response`, `correlation`, `requestInstanceId`) per HTTP POST of `application/json`, with
|
|
6
|
+
* `Host: 127.0.0.1:<port>`. The local CLI and the upgrade worker read the status and drive an upgrade through it,
|
|
7
|
+
* so an upgrade worker of one release can finalize the controller of the next whatever transport the browser
|
|
8
|
+
* speaks. Every later release keeps this path, these methods, their request and response shapes and the envelope
|
|
9
|
+
* (`test/test.controllermanagementwire.node.ts` pins the bytes an AGL 41 client sends and what it accepts).
|
|
10
|
+
*/
|
|
11
|
+
export declare const controllerManagementTypedRequestPath: '/management/typedrequest';
|
|
12
|
+
/**
|
|
13
|
+
* The protocol of this loopback management endpoint: its path, methods, envelope and their request and response
|
|
14
|
+
* shapes. 1 is the endpoint as its first release ships it; only an incompatible change to that contract raises it.
|
|
15
|
+
* A release declares it twice: as `controllerManagementProtocolVersion` in its `package.json`, which a client reads
|
|
16
|
+
* before the release's controller runs, and as `managementProtocolVersion` in that controller's status. A client
|
|
17
|
+
* reaches a controller over this endpoint only when it declares 1 or more, and over the controller socket otherwise
|
|
18
|
+
* (an older release has no endpoint).
|
|
19
|
+
*
|
|
20
|
+
* It is not `controllerUpgradeManagementVersion` (2), the upgrade contract: every upgrade worker requires exactly
|
|
21
|
+
* that number in its target's `package.json` and status, and upgrade transactions record it, so it cannot move
|
|
22
|
+
* without breaking the online upgrade of every earlier release. This number says only how the management methods
|
|
23
|
+
* are reached.
|
|
24
|
+
*/
|
|
25
|
+
export declare const controllerManagementProtocolVersion: 1;
|
|
26
|
+
/** The methods the endpoint answers; every other method is refused before it is routed. */
|
|
27
|
+
export declare const controllerManagementMethods: readonly ['controller.status', 'controller.upgrade.launch', 'controller.upgrade.prepare.begin', 'controller.upgrade.finalize'];
|
|
28
|
+
export type TControllerManagementMethod = typeof controllerManagementMethods[number];
|
|
29
|
+
export type TControllerManagementTypedRequest = IReq_ControllerStatus | IReq_ControllerUpgradeLaunch | IReq_ControllerUpgradePrepareBegin | IReq_ControllerUpgradeFinalize;
|
|
30
|
+
/** A management request carries a token, a version and a mode at most. */
|
|
31
|
+
export declare const controllerManagementRequestMaximumBodyBytes: number;
|
|
32
|
+
/** The status document with every harness profile and upgrade blocker it may report. */
|
|
33
|
+
export declare const controllerManagementResponseMaximumBytes: number;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The controller's loopback management endpoint, on the controller's own port: one TypedRequest envelope
|
|
3
|
+
* (`method`, `request`, `response`, `correlation`, `requestInstanceId`) per HTTP POST of `application/json`, with
|
|
4
|
+
* `Host: 127.0.0.1:<port>`. The local CLI and the upgrade worker read the status and drive an upgrade through it,
|
|
5
|
+
* so an upgrade worker of one release can finalize the controller of the next whatever transport the browser
|
|
6
|
+
* speaks. Every later release keeps this path, these methods, their request and response shapes and the envelope
|
|
7
|
+
* (`test/test.controllermanagementwire.node.ts` pins the bytes an AGL 41 client sends and what it accepts).
|
|
8
|
+
*/
|
|
9
|
+
export const controllerManagementTypedRequestPath = '/management/typedrequest';
|
|
10
|
+
/**
|
|
11
|
+
* The protocol of this loopback management endpoint: its path, methods, envelope and their request and response
|
|
12
|
+
* shapes. 1 is the endpoint as its first release ships it; only an incompatible change to that contract raises it.
|
|
13
|
+
* A release declares it twice: as `controllerManagementProtocolVersion` in its `package.json`, which a client reads
|
|
14
|
+
* before the release's controller runs, and as `managementProtocolVersion` in that controller's status. A client
|
|
15
|
+
* reaches a controller over this endpoint only when it declares 1 or more, and over the controller socket otherwise
|
|
16
|
+
* (an older release has no endpoint).
|
|
17
|
+
*
|
|
18
|
+
* It is not `controllerUpgradeManagementVersion` (2), the upgrade contract: every upgrade worker requires exactly
|
|
19
|
+
* that number in its target's `package.json` and status, and upgrade transactions record it, so it cannot move
|
|
20
|
+
* without breaking the online upgrade of every earlier release. This number says only how the management methods
|
|
21
|
+
* are reached.
|
|
22
|
+
*/
|
|
23
|
+
export const controllerManagementProtocolVersion = 1;
|
|
24
|
+
/** The methods the endpoint answers; every other method is refused before it is routed. */
|
|
25
|
+
export const controllerManagementMethods = [
|
|
26
|
+
'controller.status',
|
|
27
|
+
'controller.upgrade.launch',
|
|
28
|
+
'controller.upgrade.prepare.begin',
|
|
29
|
+
'controller.upgrade.finalize',
|
|
30
|
+
];
|
|
31
|
+
/** A management request carries a token, a version and a mode at most. */
|
|
32
|
+
export const controllerManagementRequestMaximumBodyBytes = 16 * 1024;
|
|
33
|
+
/** The status document with every harness profile and upgrade blocker it may report. */
|
|
34
|
+
export const controllerManagementResponseMaximumBytes = 1024 * 1024;
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFuYWdlbWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzX2ludGVyZmFjZXMvbWFuYWdlbWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFPQTs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxDQUFDLE1BQU0sb0NBQW9DLEdBQUcsMEJBQW1DLENBQUM7QUFFeEY7Ozs7Ozs7Ozs7OztHQVlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sbUNBQW1DLEdBQUcsQ0FBVSxDQUFDO0FBRTlELDJGQUEyRjtBQUMzRixNQUFNLENBQUMsTUFBTSwyQkFBMkIsR0FBRztJQUN6QyxtQkFBbUI7SUFDbkIsMkJBQTJCO0lBQzNCLGtDQUFrQztJQUNsQyw2QkFBNkI7Q0FDckIsQ0FBQztBQVVYLDBFQUEwRTtBQUMxRSxNQUFNLENBQUMsTUFBTSwyQ0FBMkMsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDO0FBQ3JFLHdGQUF3RjtBQUN4RixNQUFNLENBQUMsTUFBTSx3Q0FBd0MsR0FBRyxJQUFJLEdBQUcsSUFBSSxDQUFDIn0=
|
|
@@ -8,8 +8,26 @@ export type TControllerUsageSpan = 'minute' | 'hour';
|
|
|
8
8
|
export type TControllerUsageWindow = '1h' | '24h' | '7d';
|
|
9
9
|
export declare const controllerUsageWindows: readonly TControllerUsageWindow[];
|
|
10
10
|
export type TControllerUsageProvider = 'anthropic' | 'openai';
|
|
11
|
+
/**
|
|
12
|
+
* The tokens of the answers one bucket counts. Input counts only the tokens read neither from nor written to the
|
|
13
|
+
* provider's prompt cache. `cacheReadTokens` and `cacheWriteTokens` add up the cache reads and writes the answers
|
|
14
|
+
* stated; `cacheReadUnknownCalls` and `cacheWriteUnknownCalls` (each at most `calls`) count the answers that did not
|
|
15
|
+
* state theirs, which read or wrote an unknown number, not none. With either above 0 the stated sum is not the whole
|
|
16
|
+
* count, and `controllerUsageTotalIsLowerBound` of the bucket's provider says whether its total is then one. A bucket
|
|
17
|
+
* stored before these were counted reads with all its answers unknown.
|
|
18
|
+
*/
|
|
19
|
+
export interface IControllerUsageCounts {
|
|
20
|
+
/** The answers counted. */
|
|
21
|
+
calls: number;
|
|
22
|
+
inputTokens: number;
|
|
23
|
+
outputTokens: number;
|
|
24
|
+
cacheReadTokens: number;
|
|
25
|
+
cacheWriteTokens: number;
|
|
26
|
+
cacheReadUnknownCalls: number;
|
|
27
|
+
cacheWriteUnknownCalls: number;
|
|
28
|
+
}
|
|
11
29
|
/** One span of one model's tokens on one harness, account and session; never a prompt, a credential or an answer. */
|
|
12
|
-
export interface IControllerUsageBucket {
|
|
30
|
+
export interface IControllerUsageBucket extends IControllerUsageCounts {
|
|
13
31
|
/** The bucket's digest: SHA-256 of its span, start and dimensions. */
|
|
14
32
|
id: string;
|
|
15
33
|
span: TControllerUsageSpan;
|
|
@@ -23,13 +41,17 @@ export interface IControllerUsageBucket {
|
|
|
23
41
|
accountId: string;
|
|
24
42
|
/** The session id the client sent; `null` when it sent none. */
|
|
25
43
|
session: string | null;
|
|
26
|
-
/** The answers counted. */
|
|
27
|
-
calls: number;
|
|
28
|
-
inputTokens: number;
|
|
29
|
-
outputTokens: number;
|
|
30
|
-
cacheReadTokens: number;
|
|
31
|
-
cacheWriteTokens: number;
|
|
32
44
|
}
|
|
45
|
+
/**
|
|
46
|
+
* Whether a provider's answers state their input without the tokens read from or written to the cache, so that a bucket
|
|
47
|
+
* of that provider with unknown cache counts (`cacheReadUnknownCalls` or `cacheWriteUnknownCalls` above 0) has total
|
|
48
|
+
* tokens (input, output, cache reads and cache writes) that are a lower bound of what its answers used. An Anthropic
|
|
49
|
+
* account's answers leave the cache out of their input, so a cache count such an answer did not state is counted
|
|
50
|
+
* nowhere. An OpenAI account's answers state every input token in their input count, the Messages answers the proxy
|
|
51
|
+
* translates from them included, so their unknown cache counts lie inside the input and their total is exact. Every
|
|
52
|
+
* provider must be named here: a new one fails the type check instead of reading as exact.
|
|
53
|
+
*/
|
|
54
|
+
export declare const controllerUsageTotalIsLowerBound: Readonly<Record<TControllerUsageProvider, boolean>>;
|
|
33
55
|
/** The span each window reads and how many spans it shows, the current one included. */
|
|
34
56
|
export declare const controllerUsageWindowSpans: Record<TControllerUsageWindow, {
|
|
35
57
|
span: TControllerUsageSpan;
|
|
@@ -1,4 +1,17 @@
|
|
|
1
1
|
export const controllerUsageWindows = ['1h', '24h', '7d'];
|
|
2
|
+
/**
|
|
3
|
+
* Whether a provider's answers state their input without the tokens read from or written to the cache, so that a bucket
|
|
4
|
+
* of that provider with unknown cache counts (`cacheReadUnknownCalls` or `cacheWriteUnknownCalls` above 0) has total
|
|
5
|
+
* tokens (input, output, cache reads and cache writes) that are a lower bound of what its answers used. An Anthropic
|
|
6
|
+
* account's answers leave the cache out of their input, so a cache count such an answer did not state is counted
|
|
7
|
+
* nowhere. An OpenAI account's answers state every input token in their input count, the Messages answers the proxy
|
|
8
|
+
* translates from them included, so their unknown cache counts lie inside the input and their total is exact. Every
|
|
9
|
+
* provider must be named here: a new one fails the type check instead of reading as exact.
|
|
10
|
+
*/
|
|
11
|
+
export const controllerUsageTotalIsLowerBound = {
|
|
12
|
+
anthropic: true,
|
|
13
|
+
openai: false,
|
|
14
|
+
};
|
|
2
15
|
const minuteMs = 60_000;
|
|
3
16
|
const hourMs = 60 * minuteMs;
|
|
4
17
|
/** The span each window reads and how many spans it shows, the current one included. */
|
|
@@ -32,4 +45,4 @@ export const applyControllerUsageDelta = (viewArg, deltaArg) => {
|
|
|
32
45
|
viewArg.revision = deltaArg.revision;
|
|
33
46
|
return 'applied';
|
|
34
47
|
};
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0cmljcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzX2ludGVyZmFjZXMvbWV0cmljcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFTQSxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBc0MsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO0FBdUM3Rjs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sQ0FBQyxNQUFNLGdDQUFnQyxHQUF3RDtJQUNuRyxTQUFTLEVBQUUsSUFBSTtJQUNmLE1BQU0sRUFBRSxLQUFLO0NBQ2QsQ0FBQztBQUVGLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQztBQUN4QixNQUFNLE1BQU0sR0FBRyxFQUFFLEdBQUcsUUFBUSxDQUFDO0FBRTdCLHdGQUF3RjtBQUN4RixNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBa0Y7SUFDdkgsSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFO0lBQ25DLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRTtJQUNsQyxJQUFJLEVBQUUsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFO0NBQ3RDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBeUMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQztBQUU5Ryx3R0FBd0c7QUFDeEcsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUcsQ0FBQyxTQUFpQyxFQUFFLE1BQWMsRUFBVSxFQUFFO0lBQ3RHLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEdBQUcsMEJBQTBCLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDOUQsTUFBTSxNQUFNLEdBQUcscUJBQXFCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDM0MsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsR0FBRyxNQUFNLEdBQUcsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDO0FBQ3JFLENBQUMsQ0FBQztBQUVGOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsR0FBRyxFQUFXLENBQUM7QUFxQnJGOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFHLENBQUMsT0FBNkIsRUFBRSxRQUErQixFQUE0QixFQUFFO0lBQ3BJLElBQUksT0FBTyxJQUFJLFFBQVEsSUFBSSxRQUFRLENBQUMsS0FBSyxLQUFLLE9BQU8sQ0FBQyxLQUFLLElBQUksUUFBUSxDQUFDLE1BQU0sS0FBSyxPQUFPLENBQUMsTUFBTTtXQUM1RixRQUFRLENBQUMsUUFBUSxLQUFLLE9BQU8sQ0FBQyxRQUFRLEdBQUcsQ0FBQztRQUFFLE9BQU8sWUFBWSxDQUFDO0lBQ3JFLEtBQUssTUFBTSxNQUFNLElBQUksUUFBUSxDQUFDLE9BQU87UUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQzlFLE9BQU8sQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDLFFBQVEsQ0FBQztJQUNyQyxPQUFPLFNBQVMsQ0FBQztBQUNuQixDQUFDLENBQUMifQ==
|
package/package.json
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "agl",
|
|
3
|
-
"version": "41.0
|
|
3
|
+
"version": "41.2.0",
|
|
4
4
|
"controllerUpgradeManagementVersion": 2,
|
|
5
|
+
"controllerManagementProtocolVersion": 1,
|
|
5
6
|
"private": false,
|
|
6
7
|
"description": "Agent Gateway Layer for OpenCode, FlexHarness, and Codex sessions",
|
|
7
8
|
"main": "dist_ts/index.js",
|
|
@@ -33,10 +34,10 @@
|
|
|
33
34
|
"@lossless.org/objectstorage": "10.7.1",
|
|
34
35
|
"@modelcontextprotocol/sdk": "1.30.0",
|
|
35
36
|
"@modelprofile.com/catalog": "^1.1.0",
|
|
36
|
-
"@modelprofile.com/flexharness": "
|
|
37
|
-
"@modelprofile.com/flexharness-agent": "
|
|
38
|
-
"@modelprofile.com/flexharness-models": "
|
|
39
|
-
"@modelprofile.com/flexharness-providers": "
|
|
37
|
+
"@modelprofile.com/flexharness": "17.0.0",
|
|
38
|
+
"@modelprofile.com/flexharness-agent": "17.0.0",
|
|
39
|
+
"@modelprofile.com/flexharness-models": "17.0.0",
|
|
40
|
+
"@modelprofile.com/flexharness-providers": "17.0.0",
|
|
40
41
|
"@modelprofile.com/mcp-crossharness": "5.9.0",
|
|
41
42
|
"@modelprofile.com/mcp-system": "3.1.0",
|
|
42
43
|
"@opencode-ai/sdk": "1.18.15",
|