@integrity-labs/agt-cli 0.28.1137 → 0.28.1138
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/dist/bin/agt.js +5 -5
- package/dist/{chunk-HZFUOGUV.js → chunk-3INFJV37.js} +4 -4
- package/dist/{chunk-WIU4HUHD.js → chunk-EIXOI2ZB.js} +20 -1
- package/dist/{chunk-WIU4HUHD.js.map → chunk-EIXOI2ZB.js.map} +1 -1
- package/dist/{chunk-LQCWKNFX.js → chunk-J6ORWGUB.js} +2 -2
- package/dist/{claude-pair-runtime-OZLZFJZR.js → claude-pair-runtime-VQGEM5AY.js} +2 -2
- package/dist/lib/manager-worker.js +16 -16
- package/dist/mcp/augmented-admin.js +164 -54
- package/dist/mcp/augmented-help-kb.js +164 -54
- package/dist/mcp/augmented-support.js +164 -54
- package/dist/mcp/direct-chat-channel.js +108 -41
- package/dist/mcp/index.js +230 -59
- package/dist/mcp/origami.js +108 -41
- package/dist/mcp/slack-channel.js +108 -41
- package/dist/mcp/teams-channel.js +89 -41
- package/dist/mcp/telegram-channel.js +108 -41
- package/dist/mcp/whatsapp-channel.js +5447 -4340
- package/dist/mcp/whatsapp-link.js +5442 -4383
- package/dist/mcp/xero.js +6048 -2067
- package/dist/{persistent-session-2X3BCGV5.js → persistent-session-ZBKLEYUQ.js} +3 -3
- package/dist/{responsiveness-probe-QFLFS5QX.js → responsiveness-probe-FXDO35IT.js} +3 -3
- package/dist/{session-auth-dead-QE7GT5Y5.js → session-auth-dead-OGNOSJIB.js} +2 -2
- package/package.json +2 -2
- /package/dist/{chunk-HZFUOGUV.js.map → chunk-3INFJV37.js.map} +0 -0
- /package/dist/{chunk-LQCWKNFX.js.map → chunk-J6ORWGUB.js.map} +0 -0
- /package/dist/{claude-pair-runtime-OZLZFJZR.js.map → claude-pair-runtime-VQGEM5AY.js.map} +0 -0
- /package/dist/{persistent-session-2X3BCGV5.js.map → persistent-session-ZBKLEYUQ.js.map} +0 -0
- /package/dist/{responsiveness-probe-QFLFS5QX.js.map → responsiveness-probe-FXDO35IT.js.map} +0 -0
- /package/dist/{session-auth-dead-QE7GT5Y5.js.map → session-auth-dead-OGNOSJIB.js.map} +0 -0
|
@@ -26431,7 +26431,7 @@ function _refine(Class2, fn, _params) {
|
|
|
26431
26431
|
return schema;
|
|
26432
26432
|
}
|
|
26433
26433
|
|
|
26434
|
-
// ../../node_modules/.pnpm/@modelcontextprotocol+sdk@1.
|
|
26434
|
+
// ../../node_modules/.pnpm/@modelcontextprotocol+sdk@1.32.1_zod@3.25.76/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-compat.js
|
|
26435
26435
|
function isZ4Schema(s) {
|
|
26436
26436
|
const schema = s;
|
|
26437
26437
|
return !!schema._zod;
|
|
@@ -27189,7 +27189,7 @@ function preprocess(fn, schema) {
|
|
|
27189
27189
|
// ../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/classic/external.js
|
|
27190
27190
|
config(en_default());
|
|
27191
27191
|
|
|
27192
|
-
// ../../node_modules/.pnpm/@modelcontextprotocol+sdk@1.
|
|
27192
|
+
// ../../node_modules/.pnpm/@modelcontextprotocol+sdk@1.32.1_zod@3.25.76/node_modules/@modelcontextprotocol/sdk/dist/esm/types.js
|
|
27193
27193
|
var LATEST_PROTOCOL_VERSION = "2025-11-25";
|
|
27194
27194
|
var SUPPORTED_PROTOCOL_VERSIONS = [LATEST_PROTOCOL_VERSION, "2025-06-18", "2025-03-26", "2024-11-05", "2024-10-07"];
|
|
27195
27195
|
var RELATED_TASK_META_KEY = "io.modelcontextprotocol/related-task";
|
|
@@ -27199,10 +27199,9 @@ var ProgressTokenSchema = union([string2(), number2().int()]);
|
|
|
27199
27199
|
var CursorSchema = string2();
|
|
27200
27200
|
var TaskCreationParamsSchema = looseObject({
|
|
27201
27201
|
/**
|
|
27202
|
-
*
|
|
27203
|
-
* If null, the task has unlimited lifetime until manually cleaned up.
|
|
27202
|
+
* Requested duration in milliseconds to retain task from creation.
|
|
27204
27203
|
*/
|
|
27205
|
-
ttl:
|
|
27204
|
+
ttl: number2().optional(),
|
|
27206
27205
|
/**
|
|
27207
27206
|
* Time in milliseconds to wait between task status requests.
|
|
27208
27207
|
*/
|
|
@@ -27502,7 +27501,11 @@ var ClientCapabilitiesSchema = object2({
|
|
|
27502
27501
|
/**
|
|
27503
27502
|
* Present if the client supports task creation.
|
|
27504
27503
|
*/
|
|
27505
|
-
tasks: ClientTasksCapabilitySchema.optional()
|
|
27504
|
+
tasks: ClientTasksCapabilitySchema.optional(),
|
|
27505
|
+
/**
|
|
27506
|
+
* Extensions that the client supports. Keys are extension identifiers (vendor-prefix/extension-name).
|
|
27507
|
+
*/
|
|
27508
|
+
extensions: record(string2(), AssertObjectSchema).optional()
|
|
27506
27509
|
});
|
|
27507
27510
|
var InitializeRequestParamsSchema = BaseRequestParamsSchema.extend({
|
|
27508
27511
|
/**
|
|
@@ -27563,7 +27566,11 @@ var ServerCapabilitiesSchema = object2({
|
|
|
27563
27566
|
/**
|
|
27564
27567
|
* Present if the server supports task creation.
|
|
27565
27568
|
*/
|
|
27566
|
-
tasks: ServerTasksCapabilitySchema.optional()
|
|
27569
|
+
tasks: ServerTasksCapabilitySchema.optional(),
|
|
27570
|
+
/**
|
|
27571
|
+
* Extensions that the server supports. Keys are extension identifiers (vendor-prefix/extension-name).
|
|
27572
|
+
*/
|
|
27573
|
+
extensions: record(string2(), AssertObjectSchema).optional()
|
|
27567
27574
|
});
|
|
27568
27575
|
var InitializeResultSchema = ResultSchema.extend({
|
|
27569
27576
|
/**
|
|
@@ -27755,6 +27762,12 @@ var ResourceSchema = object2({
|
|
|
27755
27762
|
* The MIME type of this resource, if known.
|
|
27756
27763
|
*/
|
|
27757
27764
|
mimeType: optional(string2()),
|
|
27765
|
+
/**
|
|
27766
|
+
* The size of the raw resource content, in bytes (i.e., before base64 encoding or any tokenization), if known.
|
|
27767
|
+
*
|
|
27768
|
+
* This can be used by Hosts to display file sizes and estimate context window usage.
|
|
27769
|
+
*/
|
|
27770
|
+
size: optional(number2()),
|
|
27758
27771
|
/**
|
|
27759
27772
|
* Optional annotations for the client.
|
|
27760
27773
|
*/
|
|
@@ -28695,7 +28708,7 @@ var UrlElicitationRequiredError = class extends McpError {
|
|
|
28695
28708
|
}
|
|
28696
28709
|
};
|
|
28697
28710
|
|
|
28698
|
-
// ../../node_modules/.pnpm/@modelcontextprotocol+sdk@1.
|
|
28711
|
+
// ../../node_modules/.pnpm/@modelcontextprotocol+sdk@1.32.1_zod@3.25.76/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/interfaces.js
|
|
28699
28712
|
function isTerminal(status) {
|
|
28700
28713
|
return status === "completed" || status === "failed" || status === "cancelled";
|
|
28701
28714
|
}
|
|
@@ -28703,7 +28716,7 @@ function isTerminal(status) {
|
|
|
28703
28716
|
// ../../node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/string.js
|
|
28704
28717
|
var ALPHA_NUMERIC = new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");
|
|
28705
28718
|
|
|
28706
|
-
// ../../node_modules/.pnpm/@modelcontextprotocol+sdk@1.
|
|
28719
|
+
// ../../node_modules/.pnpm/@modelcontextprotocol+sdk@1.32.1_zod@3.25.76/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-json-schema-compat.js
|
|
28707
28720
|
function getMethodLiteral(schema) {
|
|
28708
28721
|
const shape = getObjectShape(schema);
|
|
28709
28722
|
const methodSchema = shape?.method;
|
|
@@ -28724,7 +28737,7 @@ function parseWithCompat(schema, data) {
|
|
|
28724
28737
|
return result.data;
|
|
28725
28738
|
}
|
|
28726
28739
|
|
|
28727
|
-
// ../../node_modules/.pnpm/@modelcontextprotocol+sdk@1.
|
|
28740
|
+
// ../../node_modules/.pnpm/@modelcontextprotocol+sdk@1.32.1_zod@3.25.76/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/protocol.js
|
|
28728
28741
|
var DEFAULT_REQUEST_TIMEOUT_MSEC = 6e4;
|
|
28729
28742
|
var Protocol = class {
|
|
28730
28743
|
constructor(_options) {
|
|
@@ -28765,6 +28778,9 @@ var Protocol = class {
|
|
|
28765
28778
|
this.setRequestHandler(GetTaskPayloadRequestSchema, async (request, extra) => {
|
|
28766
28779
|
const handleTaskResult = async () => {
|
|
28767
28780
|
const taskId = request.params.taskId;
|
|
28781
|
+
if (!await this._taskStore.getTask(taskId, extra.sessionId)) {
|
|
28782
|
+
throw new McpError(ErrorCode.InvalidParams, `Task not found: ${taskId}`);
|
|
28783
|
+
}
|
|
28768
28784
|
if (this._taskMessageQueue) {
|
|
28769
28785
|
let queuedMessage;
|
|
28770
28786
|
while (queuedMessage = await this._taskMessageQueue.dequeue(taskId, extra.sessionId)) {
|
|
@@ -28795,12 +28811,12 @@ var Protocol = class {
|
|
|
28795
28811
|
throw new McpError(ErrorCode.InvalidParams, `Task not found: ${taskId}`);
|
|
28796
28812
|
}
|
|
28797
28813
|
if (!isTerminal(task.status)) {
|
|
28798
|
-
await this._waitForTaskUpdate(taskId, extra.signal);
|
|
28814
|
+
await this._waitForTaskUpdate(taskId, extra.signal, extra.sessionId);
|
|
28799
28815
|
return await handleTaskResult();
|
|
28800
28816
|
}
|
|
28801
28817
|
if (isTerminal(task.status)) {
|
|
28802
28818
|
const result = await this._taskStore.getTaskResult(taskId, extra.sessionId);
|
|
28803
|
-
this._clearTaskQueue(taskId);
|
|
28819
|
+
this._clearTaskQueue(taskId, extra.sessionId);
|
|
28804
28820
|
return {
|
|
28805
28821
|
...result,
|
|
28806
28822
|
_meta: {
|
|
@@ -28837,7 +28853,7 @@ var Protocol = class {
|
|
|
28837
28853
|
throw new McpError(ErrorCode.InvalidParams, `Cannot cancel task in terminal status: ${task.status}`);
|
|
28838
28854
|
}
|
|
28839
28855
|
await this._taskStore.updateTaskStatus(request.params.taskId, "cancelled", "Client cancelled task execution.", extra.sessionId);
|
|
28840
|
-
this._clearTaskQueue(request.params.taskId);
|
|
28856
|
+
this._clearTaskQueue(request.params.taskId, extra.sessionId);
|
|
28841
28857
|
const cancelledTask = await this._taskStore.getTask(request.params.taskId, extra.sessionId);
|
|
28842
28858
|
if (!cancelledTask) {
|
|
28843
28859
|
throw new McpError(ErrorCode.InvalidParams, `Task not found after cancellation: ${request.params.taskId}`);
|
|
@@ -28936,6 +28952,10 @@ var Protocol = class {
|
|
|
28936
28952
|
this._progressHandlers.clear();
|
|
28937
28953
|
this._taskProgressTokens.clear();
|
|
28938
28954
|
this._pendingDebouncedNotifications.clear();
|
|
28955
|
+
for (const info of this._timeoutInfo.values()) {
|
|
28956
|
+
clearTimeout(info.timeoutId);
|
|
28957
|
+
}
|
|
28958
|
+
this._timeoutInfo.clear();
|
|
28939
28959
|
for (const controller of this._requestHandlerAbortControllers.values()) {
|
|
28940
28960
|
controller.abort();
|
|
28941
28961
|
}
|
|
@@ -28961,6 +28981,19 @@ var Protocol = class {
|
|
|
28961
28981
|
const handler = this._requestHandlers.get(request.method) ?? this.fallbackRequestHandler;
|
|
28962
28982
|
const capturedTransport = this._transport;
|
|
28963
28983
|
const relatedTaskId = request.params?._meta?.[RELATED_TASK_META_KEY]?.taskId;
|
|
28984
|
+
const sessionId = capturedTransport?.sessionId;
|
|
28985
|
+
const store = this._taskStore;
|
|
28986
|
+
let relatedTaskFound = true;
|
|
28987
|
+
let relatedTaskLookup;
|
|
28988
|
+
if (relatedTaskId && store && this._taskMessageQueue && sessionId !== void 0) {
|
|
28989
|
+
relatedTaskFound = false;
|
|
28990
|
+
relatedTaskLookup = (async () => {
|
|
28991
|
+
if (!await store.getTask(relatedTaskId, sessionId)) {
|
|
28992
|
+
throw new McpError(ErrorCode.InvalidParams, `Task not found: ${relatedTaskId}`);
|
|
28993
|
+
}
|
|
28994
|
+
relatedTaskFound = true;
|
|
28995
|
+
})();
|
|
28996
|
+
}
|
|
28964
28997
|
if (handler === void 0) {
|
|
28965
28998
|
const errorResponse = {
|
|
28966
28999
|
jsonrpc: "2.0",
|
|
@@ -28970,7 +29003,10 @@ var Protocol = class {
|
|
|
28970
29003
|
message: "Method not found"
|
|
28971
29004
|
}
|
|
28972
29005
|
};
|
|
28973
|
-
if (relatedTaskId &&
|
|
29006
|
+
if (relatedTaskId && relatedTaskLookup) {
|
|
29007
|
+
const queuedError = { type: "error", message: errorResponse, timestamp: Date.now() };
|
|
29008
|
+
relatedTaskLookup.then(() => this._enqueueTaskMessage(relatedTaskId, queuedError, sessionId), () => capturedTransport?.send(errorResponse)).catch((error2) => this._onerror(new Error(`Failed to send an error response: ${error2}`)));
|
|
29009
|
+
} else if (relatedTaskId && this._taskMessageQueue) {
|
|
28974
29010
|
this._enqueueTaskMessage(relatedTaskId, {
|
|
28975
29011
|
type: "error",
|
|
28976
29012
|
message: errorResponse,
|
|
@@ -29021,7 +29057,10 @@ var Protocol = class {
|
|
|
29021
29057
|
closeSSEStream: extra?.closeSSEStream,
|
|
29022
29058
|
closeStandaloneSSEStream: extra?.closeStandaloneSSEStream
|
|
29023
29059
|
};
|
|
29024
|
-
Promise.resolve().then(() => {
|
|
29060
|
+
(relatedTaskLookup ?? Promise.resolve()).then(() => {
|
|
29061
|
+
if (relatedTaskLookup && abortController.signal.aborted) {
|
|
29062
|
+
throw new McpError(ErrorCode.ConnectionClosed, "Request was cancelled");
|
|
29063
|
+
}
|
|
29025
29064
|
if (taskCreationParams) {
|
|
29026
29065
|
this.assertTaskHandlerCapability(request.method);
|
|
29027
29066
|
}
|
|
@@ -29056,7 +29095,7 @@ var Protocol = class {
|
|
|
29056
29095
|
...error2["data"] !== void 0 && { data: error2["data"] }
|
|
29057
29096
|
}
|
|
29058
29097
|
};
|
|
29059
|
-
if (relatedTaskId && this._taskMessageQueue) {
|
|
29098
|
+
if (relatedTaskId && this._taskMessageQueue && relatedTaskFound) {
|
|
29060
29099
|
await this._enqueueTaskMessage(relatedTaskId, {
|
|
29061
29100
|
type: "error",
|
|
29062
29101
|
message: errorResponse,
|
|
@@ -29066,7 +29105,9 @@ var Protocol = class {
|
|
|
29066
29105
|
await capturedTransport?.send(errorResponse);
|
|
29067
29106
|
}
|
|
29068
29107
|
}).catch((error2) => this._onerror(new Error(`Failed to send response: ${error2}`))).finally(() => {
|
|
29069
|
-
this._requestHandlerAbortControllers.
|
|
29108
|
+
if (this._requestHandlerAbortControllers.get(request.id) === abortController) {
|
|
29109
|
+
this._requestHandlerAbortControllers.delete(request.id);
|
|
29110
|
+
}
|
|
29070
29111
|
});
|
|
29071
29112
|
}
|
|
29072
29113
|
_onprogress(notification) {
|
|
@@ -29534,7 +29575,7 @@ var Protocol = class {
|
|
|
29534
29575
|
throw new Error("Cannot enqueue task message: taskStore and taskMessageQueue are not configured");
|
|
29535
29576
|
}
|
|
29536
29577
|
const maxQueueSize = this._options?.maxTaskQueueSize;
|
|
29537
|
-
await this._taskMessageQueue.enqueue(taskId, message, sessionId, maxQueueSize);
|
|
29578
|
+
await this._taskMessageQueue.enqueue(taskId, message, sessionId ?? this._transport?.sessionId, maxQueueSize);
|
|
29538
29579
|
}
|
|
29539
29580
|
/**
|
|
29540
29581
|
* Clears the message queue for a task and rejects any pending request resolvers.
|
|
@@ -29563,12 +29604,13 @@ var Protocol = class {
|
|
|
29563
29604
|
* Uses polling to check for updates at the task's configured poll interval.
|
|
29564
29605
|
* @param taskId The task ID to wait for
|
|
29565
29606
|
* @param signal Abort signal to cancel the wait
|
|
29607
|
+
* @param sessionId Session of the request that waits, passed to the task store
|
|
29566
29608
|
* @returns Promise that resolves when an update occurs or rejects if aborted
|
|
29567
29609
|
*/
|
|
29568
|
-
async _waitForTaskUpdate(taskId, signal) {
|
|
29610
|
+
async _waitForTaskUpdate(taskId, signal, sessionId) {
|
|
29569
29611
|
let interval = this._options?.defaultTaskPollInterval ?? 1e3;
|
|
29570
29612
|
try {
|
|
29571
|
-
const task = await this._taskStore?.getTask(taskId);
|
|
29613
|
+
const task = await this._taskStore?.getTask(taskId, sessionId);
|
|
29572
29614
|
if (task?.pollInterval) {
|
|
29573
29615
|
interval = task.pollInterval;
|
|
29574
29616
|
}
|
|
@@ -29672,7 +29714,7 @@ function mergeCapabilities(base, additional) {
|
|
|
29672
29714
|
return result;
|
|
29673
29715
|
}
|
|
29674
29716
|
|
|
29675
|
-
// ../../node_modules/.pnpm/@modelcontextprotocol+sdk@1.
|
|
29717
|
+
// ../../node_modules/.pnpm/@modelcontextprotocol+sdk@1.32.1_zod@3.25.76/node_modules/@modelcontextprotocol/sdk/dist/esm/validation/ajv-provider.js
|
|
29676
29718
|
var import_ajv = __toESM(require_ajv(), 1);
|
|
29677
29719
|
var import_ajv_formats = __toESM(require_dist(), 1);
|
|
29678
29720
|
function createDefaultAjvInstance() {
|
|
@@ -29740,7 +29782,7 @@ var AjvJsonSchemaValidator = class {
|
|
|
29740
29782
|
}
|
|
29741
29783
|
};
|
|
29742
29784
|
|
|
29743
|
-
// ../../node_modules/.pnpm/@modelcontextprotocol+sdk@1.
|
|
29785
|
+
// ../../node_modules/.pnpm/@modelcontextprotocol+sdk@1.32.1_zod@3.25.76/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/server.js
|
|
29744
29786
|
var ExperimentalServerTasks = class {
|
|
29745
29787
|
constructor(_server) {
|
|
29746
29788
|
this._server = _server;
|
|
@@ -29953,7 +29995,7 @@ var ExperimentalServerTasks = class {
|
|
|
29953
29995
|
}
|
|
29954
29996
|
};
|
|
29955
29997
|
|
|
29956
|
-
// ../../node_modules/.pnpm/@modelcontextprotocol+sdk@1.
|
|
29998
|
+
// ../../node_modules/.pnpm/@modelcontextprotocol+sdk@1.32.1_zod@3.25.76/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/helpers.js
|
|
29957
29999
|
function assertToolsCallTaskCapability(requests, method, entityName) {
|
|
29958
30000
|
if (!requests) {
|
|
29959
30001
|
throw new Error(`${entityName} does not support task creation (required for ${method})`);
|
|
@@ -29988,7 +30030,7 @@ function assertClientRequestTaskCapability(requests, method, entityName) {
|
|
|
29988
30030
|
}
|
|
29989
30031
|
}
|
|
29990
30032
|
|
|
29991
|
-
// ../../node_modules/.pnpm/@modelcontextprotocol+sdk@1.
|
|
30033
|
+
// ../../node_modules/.pnpm/@modelcontextprotocol+sdk@1.32.1_zod@3.25.76/node_modules/@modelcontextprotocol/sdk/dist/esm/server/index.js
|
|
29992
30034
|
var Server = class extends Protocol {
|
|
29993
30035
|
/**
|
|
29994
30036
|
* Initializes this server with the given name and version information.
|
|
@@ -30054,16 +30096,7 @@ var Server = class extends Protocol {
|
|
|
30054
30096
|
if (!methodSchema) {
|
|
30055
30097
|
throw new Error("Schema is missing a method literal");
|
|
30056
30098
|
}
|
|
30057
|
-
|
|
30058
|
-
if (isZ4Schema(methodSchema)) {
|
|
30059
|
-
const v4Schema = methodSchema;
|
|
30060
|
-
const v4Def = v4Schema._zod?.def;
|
|
30061
|
-
methodValue = v4Def?.value ?? v4Schema.value;
|
|
30062
|
-
} else {
|
|
30063
|
-
const v3Schema = methodSchema;
|
|
30064
|
-
const legacyDef = v3Schema._def;
|
|
30065
|
-
methodValue = legacyDef?.value ?? v3Schema.value;
|
|
30066
|
-
}
|
|
30099
|
+
const methodValue = getLiteralValue(methodSchema);
|
|
30067
30100
|
if (typeof methodValue !== "string") {
|
|
30068
30101
|
throw new Error("Schema method literal must be a string");
|
|
30069
30102
|
}
|
|
@@ -39801,6 +39834,25 @@ var FLAG_REGISTRY = [
|
|
|
39801
39834
|
// it back on for their own org.
|
|
39802
39835
|
platformAdminOnly: true
|
|
39803
39836
|
},
|
|
39837
|
+
{
|
|
39838
|
+
key: "two-factor-settings",
|
|
39839
|
+
description: "Show Settings > Two-factor authentication, where a console user sets up or removes an authenticator app (ENG-11619). Gates SETTING UP only: anyone who already has an authenticator is asked for a code before a console page loads whatever this flag says, so switching it off never turns an existing user's two-factor off. Phase 1: console pages only, not the API.",
|
|
39840
|
+
flagType: "boolean",
|
|
39841
|
+
// PUBLIC (ADR-0022 §2): the nav reads it via usePublicBooleanFlag and the
|
|
39842
|
+
// page via getPublicBooleanFlagServer, so it is in the GET /flags map. No
|
|
39843
|
+
// env override (UI rollout, not an operator gate). Ships dark (default
|
|
39844
|
+
// false). The staff factor reset on the admin organization page is in
|
|
39845
|
+
// place, so a lost phone is recoverable.
|
|
39846
|
+
public: true,
|
|
39847
|
+
defaultValue: false,
|
|
39848
|
+
// Platform admin only until ENG-11619 phase 2. Phase 1 gates console PAGE
|
|
39849
|
+
// LOADS: an enrolled user's password-only (aal1) session is still accepted
|
|
39850
|
+
// by the Hono API and the webapp's /api/* handlers. An org admin switching
|
|
39851
|
+
// this on would reasonably believe a stolen password is now useless, and
|
|
39852
|
+
// it is not yet (Obi Wan be8af20e689c on #7092). Drop this once phase 2
|
|
39853
|
+
// refuses aal1 there too.
|
|
39854
|
+
platformAdminOnly: true
|
|
39855
|
+
},
|
|
39804
39856
|
{
|
|
39805
39857
|
key: "platform-maintenance-mode",
|
|
39806
39858
|
description: 'Platform-wide maintenance mode (ENG-6506; widened to modes by ENG-11436). off = normal operation (ships dark; channels behave exactly as today). tools-offline = every agent KEEPS conversing but every Augmented tool that WRITES to the control plane refuses with a reason, so nothing is created during a window whose database restore would discard it; reads are untouched. fleet-offline = the previous boolean-true behaviour AND the write gate: admitted human inbound gets a "we are offline for maintenance" notice instead of being dispatched, for whole-platform downtime such as DB upgrades. The modes are CUMULATIVE \u2014 fleet-offline gates writes too, because silencing channel inbound does not stop a /loop or a scheduled task filing work. Read host-side per inbound and per tool call from the flags cache (no MCP restart). (Proactive "back online" follow-up is the ENG-6508 fast-follow, not this flag.)',
|
|
@@ -43521,12 +43573,21 @@ function buildStrandedInboundNoticeText(topic) {
|
|
|
43521
43573
|
return "I was restarted mid-conversation and may have missed your last message. Please re-send if I didn't reply.";
|
|
43522
43574
|
}
|
|
43523
43575
|
|
|
43524
|
-
// ../../node_modules/.pnpm/@modelcontextprotocol+sdk@1.
|
|
43576
|
+
// ../../node_modules/.pnpm/@modelcontextprotocol+sdk@1.32.1_zod@3.25.76/node_modules/@modelcontextprotocol/sdk/dist/esm/server/stdio.js
|
|
43525
43577
|
import process2 from "process";
|
|
43526
43578
|
|
|
43527
|
-
// ../../node_modules/.pnpm/@modelcontextprotocol+sdk@1.
|
|
43579
|
+
// ../../node_modules/.pnpm/@modelcontextprotocol+sdk@1.32.1_zod@3.25.76/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/stdio.js
|
|
43580
|
+
var STDIO_DEFAULT_MAX_BUFFER_SIZE = 10 * 1024 * 1024;
|
|
43528
43581
|
var ReadBuffer = class {
|
|
43582
|
+
constructor(options) {
|
|
43583
|
+
this._maxBufferSize = options?.maxBufferSize ?? STDIO_DEFAULT_MAX_BUFFER_SIZE;
|
|
43584
|
+
}
|
|
43529
43585
|
append(chunk) {
|
|
43586
|
+
const newSize = (this._buffer?.length ?? 0) + chunk.length;
|
|
43587
|
+
if (newSize > this._maxBufferSize) {
|
|
43588
|
+
this.clear();
|
|
43589
|
+
throw new Error(`ReadBuffer exceeded maximum size of ${this._maxBufferSize} bytes`);
|
|
43590
|
+
}
|
|
43530
43591
|
this._buffer = this._buffer ? Buffer.concat([this._buffer, chunk]) : chunk;
|
|
43531
43592
|
}
|
|
43532
43593
|
readMessage() {
|
|
@@ -43552,20 +43613,26 @@ function serializeMessage(message) {
|
|
|
43552
43613
|
return JSON.stringify(message) + "\n";
|
|
43553
43614
|
}
|
|
43554
43615
|
|
|
43555
|
-
// ../../node_modules/.pnpm/@modelcontextprotocol+sdk@1.
|
|
43616
|
+
// ../../node_modules/.pnpm/@modelcontextprotocol+sdk@1.32.1_zod@3.25.76/node_modules/@modelcontextprotocol/sdk/dist/esm/server/stdio.js
|
|
43556
43617
|
var StdioServerTransport = class {
|
|
43557
|
-
constructor(_stdin = process2.stdin, _stdout = process2.stdout) {
|
|
43618
|
+
constructor(_stdin = process2.stdin, _stdout = process2.stdout, options) {
|
|
43558
43619
|
this._stdin = _stdin;
|
|
43559
43620
|
this._stdout = _stdout;
|
|
43560
|
-
this._readBuffer = new ReadBuffer();
|
|
43561
43621
|
this._started = false;
|
|
43562
43622
|
this._ondata = (chunk) => {
|
|
43563
|
-
|
|
43564
|
-
|
|
43623
|
+
try {
|
|
43624
|
+
this._readBuffer.append(chunk);
|
|
43625
|
+
this.processReadBuffer();
|
|
43626
|
+
} catch (error2) {
|
|
43627
|
+
this.onerror?.(error2);
|
|
43628
|
+
this.close().catch(() => {
|
|
43629
|
+
});
|
|
43630
|
+
}
|
|
43565
43631
|
};
|
|
43566
43632
|
this._onerror = (error2) => {
|
|
43567
43633
|
this.onerror?.(error2);
|
|
43568
43634
|
};
|
|
43635
|
+
this._readBuffer = new ReadBuffer({ maxBufferSize: options?.maxBufferSize });
|
|
43569
43636
|
}
|
|
43570
43637
|
/**
|
|
43571
43638
|
* Starts listening for messages on stdin.
|