switchroom 0.15.45 → 0.16.4
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/agent-scheduler/index.js +122 -88
- package/dist/auth-broker/index.js +463 -177
- package/dist/cli/autoaccept-poll.js +4842 -35
- package/dist/cli/drive-write-pretool.mjs +17 -14
- package/dist/cli/notion-write-pretool.mjs +117 -86
- package/dist/cli/self-improve-apply-guard-pretool.mjs +626 -0
- package/dist/cli/self-improve-stop.mjs +428 -0
- package/dist/cli/skill-validate-pretool.mjs +72 -72
- package/dist/cli/switchroom.js +3158 -1178
- package/dist/host-control/main.js +2833 -355
- package/dist/vault/approvals/kernel-server.js +7479 -7439
- package/dist/vault/broker/server.js +11312 -11272
- package/examples/minimal.yaml +1 -0
- package/examples/switchroom.yaml +1 -0
- package/package.json +3 -3
- package/profiles/_base/start.sh.hbs +88 -1
- package/profiles/_shared/execution-discipline.md.hbs +18 -0
- package/profiles/default/CLAUDE.md.hbs +0 -19
- package/telegram-plugin/.claude-plugin/plugin.json +2 -2
- package/telegram-plugin/answer-stream-flag.ts +12 -49
- package/telegram-plugin/answer-stream.ts +5 -150
- package/telegram-plugin/auth-snapshot-format.ts +280 -48
- package/telegram-plugin/auto-fallback-fleet.ts +44 -1
- package/telegram-plugin/context-exhaustion.ts +12 -0
- package/telegram-plugin/demo-mask.ts +154 -0
- package/telegram-plugin/dist/bridge/bridge.js +167 -124
- package/telegram-plugin/dist/gateway/gateway.js +3039 -1159
- package/telegram-plugin/dist/server.js +215 -172
- package/telegram-plugin/docs/waiting-ux-spec.md +2 -2
- package/telegram-plugin/draft-stream.ts +47 -410
- package/telegram-plugin/final-answer-detect.ts +17 -12
- package/telegram-plugin/fleet-fallback-resume.ts +131 -0
- package/telegram-plugin/format.ts +56 -19
- package/telegram-plugin/gateway/auth-add-flow.ts +332 -127
- package/telegram-plugin/gateway/auth-broker-client.ts +2 -2
- package/telegram-plugin/gateway/auth-command.ts +70 -14
- package/telegram-plugin/gateway/clean-shutdown-marker.ts +44 -0
- package/telegram-plugin/gateway/config-approval-handler.test.ts +91 -4
- package/telegram-plugin/gateway/config-approval-handler.ts +94 -13
- package/telegram-plugin/gateway/current-turn-map.ts +188 -0
- package/telegram-plugin/gateway/disconnect-flush.ts +3 -1
- package/telegram-plugin/gateway/effort-command.ts +8 -3
- package/telegram-plugin/gateway/emission-authority.ts +369 -0
- package/telegram-plugin/gateway/feed-open-gate.ts +292 -0
- package/telegram-plugin/gateway/gateway.ts +1837 -291
- package/telegram-plugin/gateway/inject-handler.test.ts +2 -1
- package/telegram-plugin/gateway/ms365-write-approval.test.ts +4 -4
- package/telegram-plugin/gateway/represent-guard.ts +72 -0
- package/telegram-plugin/gateway/status-surface-log.test.ts +5 -4
- package/telegram-plugin/gateway/status-surface-log.ts +14 -3
- package/telegram-plugin/history.ts +33 -11
- package/telegram-plugin/hooks/repo-context-pretool.mjs +26 -0
- package/telegram-plugin/hooks/subagent-tracker-posttool.mjs +5 -0
- package/telegram-plugin/hooks/subagent-tracker-pretool.mjs +8 -0
- package/telegram-plugin/hooks/tool-label-pretool.mjs +39 -15
- package/telegram-plugin/issues-card.ts +4 -0
- package/telegram-plugin/model-unavailable.ts +124 -0
- package/telegram-plugin/narrative-dedup.ts +69 -0
- package/telegram-plugin/over-ping-safety-net.ts +70 -4
- package/telegram-plugin/package.json +3 -3
- package/telegram-plugin/pending-work-progress.ts +12 -0
- package/telegram-plugin/permission-rule.ts +32 -5
- package/telegram-plugin/permission-title.ts +152 -9
- package/telegram-plugin/quota-check.ts +13 -0
- package/telegram-plugin/quota-watch.ts +135 -7
- package/telegram-plugin/registry/turns-schema.test.ts +24 -0
- package/telegram-plugin/registry/turns-schema.ts +9 -0
- package/telegram-plugin/runtime-metrics.ts +13 -0
- package/telegram-plugin/session-tail.ts +96 -11
- package/telegram-plugin/silence-poke.ts +170 -24
- package/telegram-plugin/slot-banner-driver.ts +3 -0
- package/telegram-plugin/status-no-truncate.ts +44 -0
- package/telegram-plugin/status-reactions.ts +20 -3
- package/telegram-plugin/stream-controller.ts +4 -23
- package/telegram-plugin/stream-reply-handler.ts +6 -24
- package/telegram-plugin/streaming-metrics.ts +91 -0
- package/telegram-plugin/subagent-watcher.ts +212 -66
- package/telegram-plugin/tests/activity-ever-opened-sticky.test.ts +47 -0
- package/telegram-plugin/tests/answer-stream-dedup.test.ts +9 -26
- package/telegram-plugin/tests/answer-stream-flag.test.ts +25 -58
- package/telegram-plugin/tests/answer-stream-silent-markers.test.ts +41 -51
- package/telegram-plugin/tests/answer-stream.test.ts +2 -411
- package/telegram-plugin/tests/auth-add-flow.test.ts +488 -253
- package/telegram-plugin/tests/auth-command-format2.test.ts +71 -1
- package/telegram-plugin/tests/auth-snapshot-format.test.ts +376 -6
- package/telegram-plugin/tests/auto-fallback-fleet.test.ts +120 -0
- package/telegram-plugin/tests/cross-turn-card-gate.test.ts +424 -0
- package/telegram-plugin/tests/demo-mask.test.ts +127 -0
- package/telegram-plugin/tests/draft-stream.test.ts +0 -827
- package/telegram-plugin/tests/emission-authority-card-drain-gate.test.ts +236 -0
- package/telegram-plugin/tests/emission-authority-facade.test.ts +488 -0
- package/telegram-plugin/tests/emission-authority-open-gate.test.ts +179 -0
- package/telegram-plugin/tests/emission-authority-ping-gate.test.ts +395 -0
- package/telegram-plugin/tests/emission-determinism-wiring.test.ts +177 -0
- package/telegram-plugin/tests/feed-heartbeat-liveness-open.test.ts +146 -0
- package/telegram-plugin/tests/feed-open-gate.test.ts +259 -0
- package/telegram-plugin/tests/feed-survival.test.ts +526 -0
- package/telegram-plugin/tests/fleet-fallback-resume.test.ts +197 -0
- package/telegram-plugin/tests/gateway-clean-shutdown-marker.test.ts +117 -0
- package/telegram-plugin/tests/gateway-no-reply-single-emit.test.ts +4 -11
- package/telegram-plugin/tests/history.test.ts +60 -0
- package/telegram-plugin/tests/model-unavailable.test.ts +118 -0
- package/telegram-plugin/tests/narrative-dedup.test.ts +118 -0
- package/telegram-plugin/tests/orphaned-reply-rearm.test.ts +285 -0
- package/telegram-plugin/tests/over-ping-final-answer-decoupling.test.ts +194 -0
- package/telegram-plugin/tests/over-ping-safety-net.test.ts +2 -2
- package/telegram-plugin/tests/per-topic-current-turn.test.ts +373 -0
- package/telegram-plugin/tests/permission-card-origin-kill-switch.test.ts +42 -0
- package/telegram-plugin/tests/permission-rule.test.ts +17 -0
- package/telegram-plugin/tests/permission-title.test.ts +206 -17
- package/telegram-plugin/tests/quota-watch.test.ts +252 -9
- package/telegram-plugin/tests/reply-terminal-reaction.test.ts +6 -1
- package/telegram-plugin/tests/repo-context-pretool.test.ts +62 -0
- package/telegram-plugin/tests/represent-guard.test.ts +162 -0
- package/telegram-plugin/tests/session-tail.test.ts +147 -3
- package/telegram-plugin/tests/silence-liveness-wiring.test.ts +18 -0
- package/telegram-plugin/tests/status-card-budget-parity.test.ts +72 -0
- package/telegram-plugin/tests/status-surface-log.test.ts +146 -0
- package/telegram-plugin/tests/subagent-watcher-clip-narrative.test.ts +58 -0
- package/telegram-plugin/tests/subagent-watcher-parent-turn-key.test.ts +102 -0
- package/telegram-plugin/tests/subagent-watcher-workflow-visibility.test.ts +225 -0
- package/telegram-plugin/tests/subagent-watcher.test.ts +147 -0
- package/telegram-plugin/tests/telegram-activity-visibility-integration.test.ts +597 -0
- package/telegram-plugin/tests/telegram-format.test.ts +101 -6
- package/telegram-plugin/tests/tool-activity-summary.test.ts +550 -15
- package/telegram-plugin/tests/tool-label-pretool.test.ts +73 -0
- package/telegram-plugin/tests/tool-label-sidecar.test.ts +44 -0
- package/telegram-plugin/tests/tool-labels.test.ts +67 -0
- package/telegram-plugin/tests/turn-liveness-floor.test.ts +196 -0
- package/telegram-plugin/tests/turn-liveness-invariant.test.ts +340 -0
- package/telegram-plugin/tests/welcome-text.test.ts +32 -3
- package/telegram-plugin/tests/worker-activity-feed.test.ts +470 -22
- package/telegram-plugin/tool-activity-summary.ts +375 -58
- package/telegram-plugin/turn-liveness-floor.ts +240 -0
- package/telegram-plugin/uat/assertions.ts +115 -0
- package/telegram-plugin/uat/driver.ts +68 -0
- package/telegram-plugin/uat/scenarios/bg-sub-agent-dispatch-dm.test.ts +119 -133
- package/telegram-plugin/uat/scenarios/jtbd-answer-pings.test.ts +94 -0
- package/telegram-plugin/uat/scenarios/jtbd-cross-turn-card-dm.test.ts +109 -0
- package/telegram-plugin/uat/scenarios/jtbd-foreground-feed-thinkgap-dm.test.ts +478 -0
- package/telegram-plugin/uat/scenarios/jtbd-foreground-feed-visibility-dm.test.ts +396 -0
- package/telegram-plugin/uat/scenarios/jtbd-liveness-feed-open-dm.test.ts +202 -0
- package/telegram-plugin/uat/scenarios/jtbd-reply-is-last-dm.test.ts +202 -0
- package/telegram-plugin/uat/scenarios/reactions-dm.test.ts +93 -87
- package/telegram-plugin/welcome-text.ts +13 -1
- package/telegram-plugin/worker-activity-feed.ts +157 -82
- package/telegram-plugin/draft-transport.ts +0 -122
- package/telegram-plugin/tests/draft-retirement-wiring.test.ts +0 -82
- package/telegram-plugin/tests/draft-transport.test.ts +0 -211
|
@@ -14,7 +14,7 @@ var __export = (target, all) => {
|
|
|
14
14
|
};
|
|
15
15
|
var __esm = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
|
|
16
16
|
|
|
17
|
-
// node_modules/.bun/zod@3.25.76/node_modules/zod/v3/helpers/util.js
|
|
17
|
+
// ../../switchroom/node_modules/.bun/zod@3.25.76/node_modules/zod/v3/helpers/util.js
|
|
18
18
|
var util, objectUtil, ZodParsedType, getParsedType = (data) => {
|
|
19
19
|
const t = typeof data;
|
|
20
20
|
switch (t) {
|
|
@@ -145,7 +145,7 @@ var init_util = __esm(() => {
|
|
|
145
145
|
]);
|
|
146
146
|
});
|
|
147
147
|
|
|
148
|
-
// node_modules/.bun/zod@3.25.76/node_modules/zod/v3/ZodError.js
|
|
148
|
+
// ../../switchroom/node_modules/.bun/zod@3.25.76/node_modules/zod/v3/ZodError.js
|
|
149
149
|
var ZodIssueCode, quotelessJson = (obj) => {
|
|
150
150
|
const json = JSON.stringify(obj, null, 2);
|
|
151
151
|
return json.replace(/"([^"]+)":/g, "$1:");
|
|
@@ -266,7 +266,7 @@ var init_ZodError = __esm(() => {
|
|
|
266
266
|
};
|
|
267
267
|
});
|
|
268
268
|
|
|
269
|
-
// node_modules/.bun/zod@3.25.76/node_modules/zod/v3/locales/en.js
|
|
269
|
+
// ../../switchroom/node_modules/.bun/zod@3.25.76/node_modules/zod/v3/locales/en.js
|
|
270
270
|
var errorMap = (issue, _ctx) => {
|
|
271
271
|
let message;
|
|
272
272
|
switch (issue.code) {
|
|
@@ -373,7 +373,7 @@ var init_en = __esm(() => {
|
|
|
373
373
|
en_default = errorMap;
|
|
374
374
|
});
|
|
375
375
|
|
|
376
|
-
// node_modules/.bun/zod@3.25.76/node_modules/zod/v3/errors.js
|
|
376
|
+
// ../../switchroom/node_modules/.bun/zod@3.25.76/node_modules/zod/v3/errors.js
|
|
377
377
|
function setErrorMap(map) {
|
|
378
378
|
overrideErrorMap = map;
|
|
379
379
|
}
|
|
@@ -386,7 +386,7 @@ var init_errors = __esm(() => {
|
|
|
386
386
|
overrideErrorMap = en_default;
|
|
387
387
|
});
|
|
388
388
|
|
|
389
|
-
// node_modules/.bun/zod@3.25.76/node_modules/zod/v3/helpers/parseUtil.js
|
|
389
|
+
// ../../switchroom/node_modules/.bun/zod@3.25.76/node_modules/zod/v3/helpers/parseUtil.js
|
|
390
390
|
function addIssueToContext(ctx, issueData) {
|
|
391
391
|
const overrideMap = getErrorMap();
|
|
392
392
|
const issue = makeIssue({
|
|
@@ -491,10 +491,10 @@ var init_parseUtil = __esm(() => {
|
|
|
491
491
|
});
|
|
492
492
|
});
|
|
493
493
|
|
|
494
|
-
// node_modules/.bun/zod@3.25.76/node_modules/zod/v3/helpers/typeAliases.js
|
|
494
|
+
// ../../switchroom/node_modules/.bun/zod@3.25.76/node_modules/zod/v3/helpers/typeAliases.js
|
|
495
495
|
var init_typeAliases = () => {};
|
|
496
496
|
|
|
497
|
-
// node_modules/.bun/zod@3.25.76/node_modules/zod/v3/helpers/errorUtil.js
|
|
497
|
+
// ../../switchroom/node_modules/.bun/zod@3.25.76/node_modules/zod/v3/helpers/errorUtil.js
|
|
498
498
|
var errorUtil;
|
|
499
499
|
var init_errorUtil = __esm(() => {
|
|
500
500
|
(function(errorUtil2) {
|
|
@@ -503,7 +503,7 @@ var init_errorUtil = __esm(() => {
|
|
|
503
503
|
})(errorUtil || (errorUtil = {}));
|
|
504
504
|
});
|
|
505
505
|
|
|
506
|
-
// node_modules/.bun/zod@3.25.76/node_modules/zod/v3/types.js
|
|
506
|
+
// ../../switchroom/node_modules/.bun/zod@3.25.76/node_modules/zod/v3/types.js
|
|
507
507
|
class ParseInputLazyPath {
|
|
508
508
|
constructor(parent, value, path, key) {
|
|
509
509
|
this._cachedPath = [];
|
|
@@ -3854,7 +3854,7 @@ var init_types = __esm(() => {
|
|
|
3854
3854
|
NEVER = INVALID;
|
|
3855
3855
|
});
|
|
3856
3856
|
|
|
3857
|
-
// node_modules/.bun/zod@3.25.76/node_modules/zod/v3/external.js
|
|
3857
|
+
// ../../switchroom/node_modules/.bun/zod@3.25.76/node_modules/zod/v3/external.js
|
|
3858
3858
|
var exports_external = {};
|
|
3859
3859
|
__export(exports_external, {
|
|
3860
3860
|
void: () => voidType,
|
|
@@ -3974,7 +3974,7 @@ var init_external = __esm(() => {
|
|
|
3974
3974
|
init_ZodError();
|
|
3975
3975
|
});
|
|
3976
3976
|
|
|
3977
|
-
// node_modules/.bun/zod@3.25.76/node_modules/zod/index.js
|
|
3977
|
+
// ../../switchroom/node_modules/.bun/zod@3.25.76/node_modules/zod/index.js
|
|
3978
3978
|
var init_zod = __esm(() => {
|
|
3979
3979
|
init_external();
|
|
3980
3980
|
init_external();
|
|
@@ -4114,7 +4114,8 @@ var init_protocol = __esm(() => {
|
|
|
4114
4114
|
op: exports_external.literal("probe-quota"),
|
|
4115
4115
|
id: exports_external.string().min(1),
|
|
4116
4116
|
accounts: exports_external.array(exports_external.string().min(1)).min(1).max(32),
|
|
4117
|
-
timeoutMs: exports_external.number().int().positive().max(60000).optional()
|
|
4117
|
+
timeoutMs: exports_external.number().int().positive().max(60000).optional(),
|
|
4118
|
+
forceLive: exports_external.boolean().optional()
|
|
4118
4119
|
});
|
|
4119
4120
|
ClaimNotificationRequestSchema = exports_external.object({
|
|
4120
4121
|
v: exports_external.literal(PROTOCOL_VERSION),
|
|
@@ -4165,7 +4166,8 @@ var init_protocol = __esm(() => {
|
|
|
4165
4166
|
fallback_order: exports_external.array(exports_external.string()),
|
|
4166
4167
|
accounts: exports_external.array(AccountStateSchema),
|
|
4167
4168
|
agents: exports_external.array(AgentStateSchema),
|
|
4168
|
-
consumers: exports_external.array(ConsumerStateSchema)
|
|
4169
|
+
consumers: exports_external.array(ConsumerStateSchema),
|
|
4170
|
+
active_overage_serving: exports_external.boolean().optional()
|
|
4169
4171
|
});
|
|
4170
4172
|
SetActiveDataSchema = exports_external.object({
|
|
4171
4173
|
active: exports_external.string(),
|
|
@@ -4344,13 +4346,14 @@ class AuthBrokerClient {
|
|
|
4344
4346
|
});
|
|
4345
4347
|
return data;
|
|
4346
4348
|
}
|
|
4347
|
-
async probeQuota(accounts, timeoutMs) {
|
|
4349
|
+
async probeQuota(accounts, timeoutMs, forceLive) {
|
|
4348
4350
|
const data = await this.send({
|
|
4349
4351
|
v: PROTOCOL_VERSION,
|
|
4350
4352
|
id: randomUUID(),
|
|
4351
4353
|
op: "probe-quota",
|
|
4352
4354
|
accounts: [...accounts],
|
|
4353
|
-
...timeoutMs !== undefined ? { timeoutMs } : {}
|
|
4355
|
+
...timeoutMs !== undefined ? { timeoutMs } : {},
|
|
4356
|
+
...forceLive ? { forceLive: true } : {}
|
|
4354
4357
|
});
|
|
4355
4358
|
const parsed = data;
|
|
4356
4359
|
for (const entry of parsed.results) {
|