@chibitek/chibi 0.1.170 → 0.1.172
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/assets/{abnfDiagram-O67JEVCF-Dwjw0xC0.js → abnfDiagram-O67JEVCF-CGoW52MW.js} +1 -1
- package/dist/assets/{arc-B__BIHzb.js → arc-DEkKLw4F.js} +1 -1
- package/dist/assets/{architectureDiagram-NJMV4G6O-DQy7n3Ga.js → architectureDiagram-NJMV4G6O-Cyi6MYs6.js} +1 -1
- package/dist/assets/{blockDiagram-BEXU5L5S-moFo2nSA.js → blockDiagram-BEXU5L5S-CddA0wa_.js} +1 -1
- package/dist/assets/{c4Diagram-YGBWAQC7-C-dF8UVl.js → c4Diagram-YGBWAQC7-Dg8q9n90.js} +1 -1
- package/dist/assets/channel-Dda8O6gd.js +1 -0
- package/dist/assets/{chunk-2Q5K7J3B-DnF0mxAV.js → chunk-2Q5K7J3B-BSMub34c.js} +1 -1
- package/dist/assets/{chunk-3FUC2YCW-Dp8Dsifv.js → chunk-3FUC2YCW--Xc7Up5y.js} +2 -2
- package/dist/assets/{chunk-5VM5RSS4-D8fmZ4d8.js → chunk-5VM5RSS4-B9Ae4f30.js} +1 -1
- package/dist/assets/{chunk-GTNCS2PH-DNH2HZNQ.js → chunk-GTNCS2PH-Dh1To9G3.js} +1 -1
- package/dist/assets/{chunk-GWA4HPMP-BvL6j7pQ.js → chunk-GWA4HPMP-C_5eiV2n.js} +1 -1
- package/dist/assets/{chunk-JWPE2WC7-Co0gUA5M.js → chunk-JWPE2WC7-5wQuPsks.js} +1 -1
- package/dist/assets/{chunk-NETBCI7D-Deu9tpCF.js → chunk-NETBCI7D-BGXS05ur.js} +1 -1
- package/dist/assets/{chunk-WEXAMYUT-DKy8jAU5.js → chunk-WEXAMYUT-ClIMhmD5.js} +1 -1
- package/dist/assets/{chunk-XXDRQBXY-DQhvP8zg.js → chunk-XXDRQBXY-CcKs11-L.js} +1 -1
- package/dist/assets/{classDiagram-v2-NBCMYWYE-mhv3hMMV.js → classDiagram-v2-NBCMYWYE-BCiLckGU.js} +1 -1
- package/dist/assets/{cose-bilkent-JH36ORCC-CR1nOQOe.js → cose-bilkent-JH36ORCC-JyAqT-ND.js} +1 -1
- package/dist/assets/{cynefin-OW5HDTMX-Ddgkhxgt.js → cynefin-OW5HDTMX-BznovZj0.js} +1 -1
- package/dist/assets/{cynefinDiagram-VND7K2PF-4KbkrNhB.js → cynefinDiagram-VND7K2PF-BDRrTIEB.js} +1 -1
- package/dist/assets/{dagre-6A5THRUB-DNxtjbvT.js → dagre-6A5THRUB-BbWguhLj.js} +1 -1
- package/dist/assets/{diagram-22UHCM2B-BRpvnOWX.js → diagram-22UHCM2B-BMk1KTBr.js} +1 -1
- package/dist/assets/{diagram-3UASUU5V-DsQVnKUb.js → diagram-3UASUU5V-ChnEP2in.js} +1 -1
- package/dist/assets/{diagram-ATOU4E4O-BRZ5455_.js → diagram-ATOU4E4O-C78imnTV.js} +1 -1
- package/dist/assets/{diagram-CDSNMT55-CidrDKp0.js → diagram-CDSNMT55-Dekx02f_.js} +1 -1
- package/dist/assets/{diagram-MLGK6HIB-1hkZ8SsK.js → diagram-MLGK6HIB-D2__fPwe.js} +1 -1
- package/dist/assets/{diagram-MPIPVDR6-D1dWGFqn.js → diagram-MPIPVDR6-C9l7MZm7.js} +1 -1
- package/dist/assets/{ebnfDiagram-ZINNZB2B-DGjfEPY5.js → ebnfDiagram-ZINNZB2B-D4x0h3XT.js} +1 -1
- package/dist/assets/{elk-276RUBZZ-C5nvtTy7.js → elk-276RUBZZ-twChz5io.js} +1 -1
- package/dist/assets/{erDiagram-OPXOYQCR-CC0QBE1A.js → erDiagram-OPXOYQCR-BXEKWWMq.js} +1 -1
- package/dist/assets/{flowDiagram-KWPJA3E3-BthbP_HO.js → flowDiagram-KWPJA3E3-Ct-XrJMr.js} +1 -1
- package/dist/assets/{ganttDiagram-FUAMR5RP-BQ2wLSEI.js → ganttDiagram-FUAMR5RP-Bn92lxCs.js} +1 -1
- package/dist/assets/{gitGraphDiagram-X574FWY7-lTR8tNlq.js → gitGraphDiagram-X574FWY7-Dvfjo7cn.js} +1 -1
- package/dist/assets/{index-AWsWxgoq.js → index-CarzpTfN.js} +1 -1
- package/dist/assets/{index-VagspC1z.js → index-DvneZE6Z.js} +76 -73
- package/dist/assets/{infoDiagram-VRGFBTTK-BgI9ZuT_.js → infoDiagram-VRGFBTTK-MJ14OyNX.js} +1 -1
- package/dist/assets/{ishikawaDiagram-OU5B5YK6-qPe6Rhk2.js → ishikawaDiagram-OU5B5YK6-nf9xhTNX.js} +1 -1
- package/dist/assets/{journeyDiagram-ZHPQQLJL-CpbadZuP.js → journeyDiagram-ZHPQQLJL-DqfK6X2e.js} +1 -1
- package/dist/assets/{kanban-definition-PNTS6WVX-D9kCb3-t.js → kanban-definition-PNTS6WVX-CjUR1QYT.js} +1 -1
- package/dist/assets/{linear-CdW4LT3g.js → linear-dPqGsZwL.js} +1 -1
- package/dist/assets/{mermaid.core-BbPWTT56.js → mermaid.core-zL0DLPAI.js} +5 -5
- package/dist/assets/{mindmap-definition-NLK3R4M7-BtOaXxvb.js → mindmap-definition-NLK3R4M7-C1-Jqg3_.js} +1 -1
- package/dist/assets/{pegDiagram-GJSIUBJH-BtcTITAK.js → pegDiagram-GJSIUBJH-CFlvuAHC.js} +1 -1
- package/dist/assets/{pieDiagram-5QR66LMP-Ch_--zjt.js → pieDiagram-5QR66LMP-BvyT0IgF.js} +1 -1
- package/dist/assets/{quadrantDiagram-O4NWA36T-Di8ygRal.js → quadrantDiagram-O4NWA36T-bg7JeR2c.js} +1 -1
- package/dist/assets/{railroadDiagram-XR7U4H2S-DxgesAmb.js → railroadDiagram-XR7U4H2S-dF2Nqim8.js} +1 -1
- package/dist/assets/{requirementDiagram-PLB6GJNP-DjH-jdCr.js → requirementDiagram-PLB6GJNP-CwVu_Or6.js} +1 -1
- package/dist/assets/{sankeyDiagram-IPEJSGJF-ClNLceSc.js → sankeyDiagram-IPEJSGJF-wBC3-mRy.js} +1 -1
- package/dist/assets/{sequenceDiagram-PO4LG4MO-Cip_EmtV.js → sequenceDiagram-PO4LG4MO-Bs9lHMf-.js} +1 -1
- package/dist/assets/{sizeCapture-INFHLROL-BzW2hkq8.js → sizeCapture-INFHLROL-d6YiGOIQ.js} +1 -1
- package/dist/assets/{stateDiagram-v2-GCMORJYK-CwHu7P19.js → stateDiagram-v2-GCMORJYK--f6dscuE.js} +1 -1
- package/dist/assets/{swimlanes-2SLR337P-DO9E9HUK.js → swimlanes-2SLR337P-CQpzBoAc.js} +1 -1
- package/dist/assets/swimlanesDiagram-TC7HE7FX-C1ko4o6t.js +8 -0
- package/dist/assets/{timeline-definition-EJHVYXUP-D2_E-i9h.js → timeline-definition-EJHVYXUP-DpoyUyqt.js} +1 -1
- package/dist/assets/{usecaseDiagram-POWQR4AR-oKBQ1FAG.js → usecaseDiagram-POWQR4AR-Dg7mR3GW.js} +1 -1
- package/dist/assets/{vennDiagram-UO4OBE2U-HEdQsC7L.js → vennDiagram-UO4OBE2U-CoEfTL7k.js} +1 -1
- package/dist/assets/{wardleyDiagram-VNRHLVJA-mNpRO8rd.js → wardleyDiagram-VNRHLVJA-24tIY01C.js} +1 -1
- package/dist/assets/{xychartDiagram-PMCCYNJV-uURjTK1X.js → xychartDiagram-PMCCYNJV-CsoqIRqn.js} +1 -1
- package/dist/handbook/atomic-handbook.html +1 -1
- package/dist/index.html +1 -1
- package/dist-server/companion/src/routes.js +36 -1
- package/dist-server/index.js +37509 -37213
- package/dist-server/openmausbot.js +6 -5
- package/dist-server/pair-cli.js +6 -5
- package/dist-server/server/drivers/acp/custom.js +3 -0
- package/dist-server/server/index.js +19 -118
- package/dist-server/server/message-file.js +28 -11
- package/dist-server/server/remote-desktop.js +142 -0
- package/dist-server/server/routes/message-file.js +115 -0
- package/dist-server/server/shared-deliverables.js +109 -0
- package/dist-server/server/skill-learn.js +4 -0
- package/dist-server/server/subscription-bots.js +3 -2
- package/dist-server/shared/provider-accounts.js +5 -5
- package/dist-server/shared/skill-command.js +16 -0
- package/package.json +1 -1
- package/dist/assets/channel-BQM13l0i.js +0 -1
- package/dist/assets/swimlanesDiagram-TC7HE7FX-UC0GNJzN.js +0 -8
|
@@ -33,7 +33,7 @@ export const MESSAGE_FILE_ROUTE = {
|
|
|
33
33
|
};
|
|
34
34
|
export const CLOUD_DESKTOP_CONTROL_ROUTE = {
|
|
35
35
|
method: "POST",
|
|
36
|
-
path: /^\/api\/bots\/[\w-]+\/computer\/(?:control|screenshot|viewer-close)$/,
|
|
36
|
+
path: /^\/api\/bots\/[\w-]+\/computer\/(?:control|screenshot|viewer-close|remote-frame|remote-input)$/,
|
|
37
37
|
};
|
|
38
38
|
export function isCloudDesktopJoin(method, path) {
|
|
39
39
|
return method === CLOUD_DESKTOP_JOIN_ROUTE.method && CLOUD_DESKTOP_JOIN_ROUTE.path.test(path);
|
|
@@ -41,6 +41,28 @@ export function isCloudDesktopJoin(method, path) {
|
|
|
41
41
|
export function isMessageFileDownload(method, path) {
|
|
42
42
|
return method === MESSAGE_FILE_ROUTE.method && MESSAGE_FILE_ROUTE.path.test(path);
|
|
43
43
|
}
|
|
44
|
+
/** The desktop's broad bot and room edits. A phone reaches the harness as
|
|
45
|
+
* the owner, so the harness's own display-fields-only filter for clients
|
|
46
|
+
* never runs; the proxy opens these to the pin toggle alone by checking the
|
|
47
|
+
* body itself (isPinOnlyBody) and forwarding exactly the bytes it checked. */
|
|
48
|
+
export const PIN_ONLY_ROUTE = {
|
|
49
|
+
method: "PATCH",
|
|
50
|
+
path: /^\/api\/(?:bots|groups)\/[\w-]+$/,
|
|
51
|
+
};
|
|
52
|
+
export function isPinOnlyRoute(method, path) {
|
|
53
|
+
return method === PIN_ONLY_ROUTE.method && PIN_ONLY_ROUTE.path.test(path);
|
|
54
|
+
}
|
|
55
|
+
/** `{"pinned": true|false}` and nothing else. */
|
|
56
|
+
export function isPinOnlyBody(raw) {
|
|
57
|
+
try {
|
|
58
|
+
const body = JSON.parse(raw.toString("utf8"));
|
|
59
|
+
return Boolean(body) && typeof body === "object" && !Array.isArray(body)
|
|
60
|
+
&& Object.keys(body).length === 1 && typeof body.pinned === "boolean";
|
|
61
|
+
}
|
|
62
|
+
catch {
|
|
63
|
+
return false;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
44
66
|
export function isCloudDesktopAccess(method, path) {
|
|
45
67
|
return isCloudDesktopJoin(method, path)
|
|
46
68
|
|| (method === CLOUD_DESKTOP_CONTROL_ROUTE.method && CLOUD_DESKTOP_CONTROL_ROUTE.path.test(path));
|
|
@@ -75,6 +97,8 @@ const ALLOWED = [
|
|
|
75
97
|
// Pinned-row reorder: hands the viewer's own pin stamps back out in a new
|
|
76
98
|
// order (server/pin-order.ts); it cannot pin, unpin or reach hidden bots.
|
|
77
99
|
{ method: "PUT", path: /^\/api\/pins\/order$/ },
|
|
100
|
+
// Pin or unpin one bot or room; the proxy refuses any other field.
|
|
101
|
+
PIN_ONLY_ROUTE,
|
|
78
102
|
{ method: "POST", path: /^\/api\/bots\/[\w-]+\/messages$/ },
|
|
79
103
|
{ method: "PATCH", path: /^\/api\/bots\/[\w-]+\/cards\/[\w-]+$/ },
|
|
80
104
|
{ method: "POST", path: /^\/api\/bots\/[\w-]+\/respond$/ },
|
|
@@ -110,6 +134,14 @@ const ALLOWED = [
|
|
|
110
134
|
// grading; the choice itself goes through the task PATCH above.
|
|
111
135
|
{ method: "GET", path: /^\/api\/bots\/[\w-]+\/model-classes$/ },
|
|
112
136
|
{ method: "GET", path: /^\/api\/model-levels$/ },
|
|
137
|
+
// Work modes (Ask, Auto edits, God Mode, Plan). The harness answers only an
|
|
138
|
+
// Administrator's paired bearer session (pairedModeAuthority) and makes
|
|
139
|
+
// every mode above Ask confirm a one-time nonce, so the gateway only opens
|
|
140
|
+
// the door.
|
|
141
|
+
{ method: "GET", path: /^\/api\/bots\/[\w-]+\/work-mode$/ },
|
|
142
|
+
{ method: "POST", path: /^\/api\/bots\/[\w-]+\/work-mode$/ },
|
|
143
|
+
{ method: "GET", path: /^\/api\/work-modes$/ },
|
|
144
|
+
{ method: "PUT", path: /^\/api\/work-modes$/ },
|
|
113
145
|
// "Make this the main chat", from iPhone builds that open a bot on its
|
|
114
146
|
// main chat rather than the conversation used most recently.
|
|
115
147
|
{ method: "PATCH", path: /^\/api\/bots\/[\w-]+\/main-thread$/ },
|
|
@@ -185,6 +217,9 @@ const ALLOWED = [
|
|
|
185
217
|
// on/off only. The full server list stays on the computer, since a local
|
|
186
218
|
// server's arguments can carry anything.
|
|
187
219
|
{ method: "GET", path: /^\/api\/mcp\/defaults$/ },
|
|
220
|
+
// A marketplace connect card. The harness adds only Atomic's featured,
|
|
221
|
+
// vendor-run servers, threat-scans them and saves them switched off.
|
|
222
|
+
{ method: "POST", path: /^\/api\/mcp\/registry\/add$/ },
|
|
188
223
|
];
|
|
189
224
|
/** Route families worth naming in the refusal.
|
|
190
225
|
*
|