sliccy 6.104.1 → 6.105.1
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/node-server/_shared/tray-signaling.d.ts +28 -1
- package/dist/node-server/_shared/tray-signaling.d.ts.map +1 -1
- package/dist/node-server/_shared/tray-signaling.js.map +1 -1
- package/dist/node-server/routes/lick-api.js +71 -4
- package/dist/ui/.vite/manifest.json +135 -121
- package/dist/ui/assets/{SKILL-DJ815vTN.js → SKILL-BflWplWz.js} +5 -0
- package/dist/ui/assets/SKILL-Boj7N1xe.js +1 -0
- package/dist/ui/assets/SKILL-CRLGKQWi.js +82 -0
- package/dist/ui/assets/{account-store-Cylrdkuz.js → account-store-BzlZkBRi.js} +1 -1
- package/dist/ui/assets/{account-store-jZQ5ZufU.js → account-store-DLMQFidg.js} +1 -1
- package/dist/ui/assets/{adobe-DXahlkb9.js → adobe-BMlAh6hv.js} +1 -1
- package/dist/ui/assets/{adobe-B0KnqSsB.js → adobe-BihjR2aN.js} +1 -1
- package/dist/ui/assets/{agent-panels-BLIggl8p.js → agent-panels-BU1YRtd6.js} +1 -1
- package/dist/ui/assets/{apply-layout-BMgMUY__.js → apply-layout-D91iJnwj.js} +1 -1
- package/dist/ui/assets/{apps-BYAbVPc-.js → apps-C_U-KsGp.js} +1 -1
- package/dist/ui/assets/{azure-openai-o87GPpCm.js → azure-openai-Bw0uWZGO.js} +1 -1
- package/dist/ui/assets/{azure-openai-BAIASHGB.js → azure-openai-sF6H5kgW.js} +1 -1
- package/dist/ui/assets/{cerebras-zSFkwUPf.js → cerebras-BXHbMJZ4.js} +1 -1
- package/dist/ui/assets/{cerebras-CxnSM14r.js → cerebras-YRvd81gB.js} +1 -1
- package/dist/ui/assets/{connect-surface-wf5esY8G.js → connect-surface-xmzMSsEa.js} +1 -1
- package/dist/ui/assets/{dist-N1MMHRNk.js → dist-CIyvNQb4.js} +3 -3
- package/dist/ui/assets/{dist-BmTb9jmr.js → dist-CLbkZ_1_.js} +1 -1
- package/dist/ui/assets/{dist-BnDrtqYs.js → dist-ChNj9ewx.js} +1 -1
- package/dist/ui/assets/{dist-RekgwRC0.js → dist-DhiPJE96.js} +3 -3
- package/dist/ui/assets/{fs-C9Ml61P0.js → fs-C5irkDgy.js} +2 -2
- package/dist/ui/assets/{fs-C53w50wi.js → fs-CfV7z7u1.js} +1 -1
- package/dist/ui/assets/{github-eWCaUIYE.js → github-CvkSRuma.js} +1 -1
- package/dist/ui/assets/{github-copilot-Dqa7cfea.js → github-copilot-BLe6fyKB.js} +1 -1
- package/dist/ui/assets/{github-copilot-8p78Z1iN.js → github-copilot-Cq69Q1S1.js} +1 -1
- package/dist/ui/assets/{github-B168VC-f.js → github-dRIJp79S.js} +2 -2
- package/dist/ui/assets/{github-install-Dx1PJmuo.js → github-install-BvY8B6fA.js} +1 -1
- package/dist/ui/assets/{github-zip-Cput1S3H.js → github-zip-D7XHOBXr.js} +1 -1
- package/dist/ui/assets/{js-realm-worker-DbFdNzGm.js → js-realm-worker-DYtqK8ky.js} +1 -1
- package/dist/ui/assets/just-bash-compat-_TMo8UnL.js +1 -0
- package/dist/ui/assets/{kernel-worker-DSioqFDs.js → kernel-worker-Biv5_wUN.js} +445 -445
- package/dist/ui/assets/lick-manager-DsQLFcKr.js +2 -0
- package/dist/ui/assets/{lick-manager-proxy-B953oJ2Q.js → lick-manager-proxy-DMaLHm_t.js} +1 -1
- package/dist/ui/assets/lick-ws-bridge-1UPwiSVX.js +1 -0
- package/dist/ui/assets/{local-llm-DbHG_0K8.js → local-llm-0p1lFHjz.js} +1 -1
- package/dist/ui/assets/{local-llm-BHVATZMd.js → local-llm-BtUdVk1V.js} +1 -1
- package/dist/ui/assets/{main-BCAkSClf.js → main-XDb3cs-j.js} +3 -3
- package/dist/ui/assets/{mount-xKR_2QAZ.js → mount-DMQpmO_S.js} +1 -1
- package/dist/ui/assets/{mount-kxdk06Ik.js → mount-DrBtXals.js} +2 -2
- package/dist/ui/assets/{mount-recovery-D9GYFnRe.js → mount-recovery-0xhp73i7.js} +1 -1
- package/dist/ui/assets/{new-session-DYwfDv7Q.js → new-session-tkh2Pth8.js} +2 -2
- package/dist/ui/assets/{oauth-bootstrap-3TLV2R6i.js → oauth-bootstrap-DYTFzmoM.js} +2 -2
- package/dist/ui/assets/{onboarding-orchestrator-Bgvgv776.js → onboarding-orchestrator-C3hpm1Jf.js} +1 -1
- package/dist/ui/assets/{openai-codex-lTK5Q9og.js → openai-codex-BI6aAgz-.js} +1 -1
- package/dist/ui/assets/{openai-codex-BH1pr3yG.js → openai-codex-LoXO8Ljg.js} +1 -1
- package/dist/ui/assets/{openrouter-BmCRHswi.js → openrouter-BKx5Z6bM.js} +1 -1
- package/dist/ui/assets/{openrouter-T_qxxCTc.js → openrouter-D2APEIUs.js} +1 -1
- package/dist/ui/assets/{openrouter-oauth-Dh8-fsAD.js → openrouter-oauth-CwACvxY6.js} +1 -1
- package/dist/ui/assets/{openrouter-oauth-72heWrv0.js → openrouter-oauth-D4wSzWV1.js} +1 -1
- package/dist/ui/assets/panel-rpc-handlers-Brwn-P2J.js +2 -0
- package/dist/ui/assets/{panelize-shell-DbFAY6fz.js → panelize-shell-DOZyJ0fa.js} +1 -1
- package/dist/ui/assets/{provider-7tGvSSGk.js → provider-CMyVpl4V.js} +2 -2
- package/dist/ui/assets/{provider-C34TvpdC.js → provider-Ck4d3QKr.js} +1 -1
- package/dist/ui/assets/{provider-settings-B6bVsNDE.js → provider-settings-HVEYL_IN.js} +1 -1
- package/dist/ui/assets/provider-store-access-C4sEMSPk.js +1 -0
- package/dist/ui/assets/provider-store-access-DyMm3fYa.js +1 -0
- package/dist/ui/assets/{providers-cE5y9HoI.js → providers-Bv-7eK6T.js} +1 -1
- package/dist/ui/assets/{providers-BqPrqlrY.js → providers-Db6Bcpqh.js} +2 -2
- package/dist/ui/assets/{quick-llm-uXuBekO_.js → quick-llm-r7iioCbc.js} +1 -1
- package/dist/ui/assets/{recovery-screen-D0O_BiCl.js → recovery-screen-0XV-viDe.js} +1 -1
- package/dist/ui/assets/{redirect-uri-DGe3VWPR.js → redirect-uri-D2xDbDb-.js} +1 -1
- package/dist/ui/assets/run-Bj7sL3Vx.js +81 -0
- package/dist/ui/assets/{run-xy_5RwZo.js → run-DtXEX6sA.js} +1 -1
- package/dist/ui/assets/{setup-feature-flags-remote-GpkAVVXp.js → setup-feature-flags-remote-CqZBHh5l.js} +1 -1
- package/dist/ui/assets/sidecar-repair-Ct_a2-ms.js +1 -0
- package/dist/ui/assets/{skills-C2NfdPl3.js → skills-B1sr_Tq0.js} +1 -1
- package/dist/ui/assets/slicc-version-D3NdtGfe.js +1 -0
- package/dist/ui/assets/{state-DAh4iZF1.js → state-DreMrf2k.js} +1 -1
- package/dist/ui/assets/{store-DOIgbOku.js → store-C7oltmmm.js} +1 -1
- package/dist/ui/assets/{store-BzrQLTQj.js → store-TMWGaifB.js} +1 -1
- package/dist/ui/assets/{sudo-ChQ1IcYS.js → sudo-COiu75CG.js} +1 -1
- package/dist/ui/assets/{sync-dialog-Cl9yTKSS.js → sync-dialog-D4gGyFPx.js} +1 -1
- package/dist/ui/assets/tray-sidecar-CVKekXJl.js +2 -0
- package/dist/ui/assets/{upgrade-detection-C3Nr-655.js → upgrade-detection-yf4VBHJa.js} +1 -1
- package/dist/ui/assets/{voice-reply-CjsVoHw9.js → voice-reply-CdQyjZ4U.js} +1 -1
- package/dist/ui/assets/{wc-attach-CjtVPfv8.js → wc-attach-DsY3Di7b.js} +2 -2
- package/dist/ui/assets/{wc-extension-DrzxiPTX.js → wc-extension-BJjoLztQ.js} +2 -2
- package/dist/ui/assets/{wc-float-label-BILwoR4Y.js → wc-float-label-BYMhctbP.js} +1 -1
- package/dist/ui/assets/{wc-floatbar-online-DRfOBSIX.js → wc-floatbar-online-adsNHm5r.js} +1 -1
- package/dist/ui/assets/wc-follower-Dvb_NBfE.js +17 -0
- package/dist/ui/assets/wc-follower-oauth-CkSuotR4.js +5 -0
- package/dist/ui/assets/{wc-live-Bzx9UfDn.js → wc-live-ChSZdFGO.js} +7 -7
- package/dist/ui/assets/{wc-nav-BnDVTXFH.js → wc-nav-DML7srXc.js} +2 -2
- package/dist/ui/assets/{wc-onboarding-DFe37VXT.js → wc-onboarding-BJcv2HxO.js} +2 -2
- package/dist/ui/assets/{wc-placeholder-Cgf38eL5.js → wc-placeholder-CBTA32WV.js} +3 -3
- package/dist/ui/assets/{wc-settings-BVUaruOq.js → wc-settings-CTbiADwY.js} +3 -3
- package/dist/ui/assets/{wc-shell-Bi3OSGBT.js → wc-shell-DGGTq6Dg.js} +2 -2
- package/dist/ui/assets/{wc-shortcut-config-j8P7JSLP.js → wc-shortcut-config-6WhfEkWk.js} +1 -1
- package/dist/ui/assets/{wc-sprinkles-S3wB8G7S.js → wc-sprinkles-CPStewTt.js} +2 -2
- package/dist/ui/assets/{wc-transcript-export-DaNZvPsh.js → wc-transcript-export-DBgvfYAE.js} +2 -2
- package/dist/ui/assets/wc-tray-C5ousbvR.js +2 -0
- package/dist/ui/assets/welcome-detection-Bripv_Hp.js +1 -0
- package/dist/ui/assets/{xai-grok-BYCmntvw.js → xai-grok-BMwfBJts.js} +1 -1
- package/dist/ui/assets/{xai-grok-eByJqr8e.js → xai-grok-DrvDcz8F.js} +1 -1
- package/dist/ui/index.html +3 -3
- package/dist/ui/llm-proxy-sw.js +1 -1
- package/dist/ui/packages/webapp/index.html +3 -3
- package/package.json +1 -1
- package/dist/ui/assets/SKILL-B-2ojpz4.js +0 -1
- package/dist/ui/assets/lick-manager-CYlek4qq.js +0 -2
- package/dist/ui/assets/lick-ws-bridge-BJTVP6Z3.js +0 -1
- package/dist/ui/assets/panel-rpc-handlers-CijeYPcs.js +0 -2
- package/dist/ui/assets/provider-store-access-C63lQl4e.js +0 -1
- package/dist/ui/assets/provider-store-access-HdLfwUrU.js +0 -1
- package/dist/ui/assets/sidecar-repair-Bw6oAGww.js +0 -1
- package/dist/ui/assets/slicc-version-BNbtflNO.js +0 -1
- package/dist/ui/assets/wc-follower-D3-l-Bk_.js +0 -17
- package/dist/ui/assets/wc-follower-oauth-DI4siL1I.js +0 -5
- package/dist/ui/assets/wc-tray-BhGqWGhL.js +0 -2
- package/dist/ui/assets/welcome-detection-BBuijPcd.js +0 -1
|
@@ -101,7 +101,22 @@ export interface WebhookEventMessage {
|
|
|
101
101
|
headers: Record<string, string>;
|
|
102
102
|
body: unknown;
|
|
103
103
|
timestamp: string;
|
|
104
|
+
/**
|
|
105
|
+
* Set when the sender is holding an HTTP request open for this delivery and
|
|
106
|
+
* wants the leader's disposition back as {@link LeaderWebhookDelivery}
|
|
107
|
+
* (issue #2524). Absent on fire-and-forget forwards (the preview-emit path),
|
|
108
|
+
* which the leader must not acknowledge.
|
|
109
|
+
*/
|
|
110
|
+
deliveryId?: string;
|
|
104
111
|
}
|
|
112
|
+
/**
|
|
113
|
+
* What became of one webhook delivery once it reached the leader's
|
|
114
|
+
* `LickManager`. Only the two failure values mean "no unit was woken":
|
|
115
|
+
* `filtered` is the webhook's own `--filter` doing its job, so it counts as
|
|
116
|
+
* accepted. Mirrored by `packages/webapp/src/scoops/lick-manager.ts`, which
|
|
117
|
+
* imports this type rather than restating it.
|
|
118
|
+
*/
|
|
119
|
+
export type WebhookDeliveryDisposition = 'delivered' | 'filtered' | 'unknown-webhook' | 'unresolved-target';
|
|
105
120
|
export interface WorkerPreviewRequest {
|
|
106
121
|
type: 'preview.request';
|
|
107
122
|
reqId: string;
|
|
@@ -238,9 +253,21 @@ export interface LeaderPushSend {
|
|
|
238
253
|
label: string;
|
|
239
254
|
requestId?: string;
|
|
240
255
|
}
|
|
256
|
+
/**
|
|
257
|
+
* Leader → worker: the disposition of a `webhook.event` that carried a
|
|
258
|
+
* `deliveryId`. The worker is holding the webhook POST open on it, so a
|
|
259
|
+
* non-delivering disposition turns the HTTP receipt from `202 accepted` into an
|
|
260
|
+
* error the caller can act on (issue #2524). A leader too old to send this at
|
|
261
|
+
* all leaves the worker on its pre-#2524 `202` after a short budget.
|
|
262
|
+
*/
|
|
263
|
+
export interface LeaderWebhookDelivery {
|
|
264
|
+
type: 'webhook.delivery';
|
|
265
|
+
deliveryId: string;
|
|
266
|
+
disposition: WebhookDeliveryDisposition;
|
|
267
|
+
}
|
|
241
268
|
export type LeaderToWorkerControlMessage = {
|
|
242
269
|
type: 'ping';
|
|
243
|
-
} | LeaderPushRegister | LeaderPushSend | LeaderBootstrapOfferMessage | LeaderBootstrapIceCandidateMessage | LeaderBootstrapFailedMessage | LeaderPreviewResponseOk | LeaderPreviewResponseError | LeaderPreviewPurge | LeaderPreviewStateUpdate | LeaderBridgeCdpRequest | LeaderBridgeClose;
|
|
270
|
+
} | LeaderWebhookDelivery | LeaderPushRegister | LeaderPushSend | LeaderBootstrapOfferMessage | LeaderBootstrapIceCandidateMessage | LeaderBootstrapFailedMessage | LeaderPreviewResponseOk | LeaderPreviewResponseError | LeaderPreviewPurge | LeaderPreviewStateUpdate | LeaderBridgeCdpRequest | LeaderBridgeClose;
|
|
244
271
|
export interface BootstrapPollRequest {
|
|
245
272
|
action: 'poll';
|
|
246
273
|
controllerId?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tray-signaling.d.ts","sourceRoot":"","sources":["../src/tray-signaling.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"tray-signaling.d.ts","sourceRoot":"","sources":["../src/tray-signaling.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tray-signaling.js","sourceRoot":"","sources":["../src/tray-signaling.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAIH,MAAM,CAAC,MAAM,yBAAyB,GAAG,MAAM,CAAC;AAChD,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC;AAC5C,MAAM,CAAC,MAAM,6BAA6B,GAAG,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"tray-signaling.js","sourceRoot":"","sources":["../src/tray-signaling.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,53 @@
|
|
|
2
2
|
function respondBrowserUnavailable(res, err) {
|
|
3
3
|
res.status(503).json({ error: err instanceof Error ? err.message : 'Browser not connected' });
|
|
4
4
|
}
|
|
5
|
+
const WEBHOOK_OUTCOMES = [
|
|
6
|
+
'delivered',
|
|
7
|
+
'filtered',
|
|
8
|
+
'unknown-webhook',
|
|
9
|
+
'unresolved-target',
|
|
10
|
+
'malformed',
|
|
11
|
+
'failed',
|
|
12
|
+
];
|
|
13
|
+
function readDisposition(reply) {
|
|
14
|
+
const value = reply?.disposition;
|
|
15
|
+
return WEBHOOK_OUTCOMES.find((outcome) => outcome === value) ?? 'unknown';
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Answer the webhook POST. `delivered` / `filtered` keep the pre-#2524 receipt
|
|
19
|
+
* verbatim — a `--filter` dropping an event is the filter working, and the
|
|
20
|
+
* event WAS accepted. The remaining outcomes are the ones that used to lie.
|
|
21
|
+
*/
|
|
22
|
+
function respondWebhookDisposition(res, webhookId, outcome) {
|
|
23
|
+
if (outcome === 'delivered' || outcome === 'filtered' || outcome === 'unknown') {
|
|
24
|
+
res.json({ ok: true, received: true });
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
if (outcome === 'unknown-webhook') {
|
|
28
|
+
res.status(404).json({
|
|
29
|
+
ok: false,
|
|
30
|
+
received: false,
|
|
31
|
+
error: `Webhook "${webhookId}" is not registered`,
|
|
32
|
+
code: 'WEBHOOK_NOT_REGISTERED',
|
|
33
|
+
});
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
if (outcome === 'unresolved-target') {
|
|
37
|
+
res.status(422).json({
|
|
38
|
+
ok: false,
|
|
39
|
+
received: false,
|
|
40
|
+
error: `Webhook "${webhookId}" targets a scoop or cone that no longer exists — the event was dropped`,
|
|
41
|
+
code: 'WEBHOOK_TARGET_UNRESOLVED',
|
|
42
|
+
});
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
res.status(500).json({
|
|
46
|
+
ok: false,
|
|
47
|
+
received: false,
|
|
48
|
+
error: `Webhook "${webhookId}" could not be dispatched (${outcome})`,
|
|
49
|
+
code: 'WEBHOOK_DISPATCH_FAILED',
|
|
50
|
+
});
|
|
51
|
+
}
|
|
5
52
|
/**
|
|
6
53
|
* Routes that forward to the connected browser over the lick bridge:
|
|
7
54
|
* tray status, webhook management + receiver, and cron task management.
|
|
@@ -80,15 +127,35 @@ export function registerLickApiRoutes(app, bridge) {
|
|
|
80
127
|
body = { raw };
|
|
81
128
|
}
|
|
82
129
|
}
|
|
83
|
-
// Forward to browser for
|
|
84
|
-
|
|
130
|
+
// Forward to the browser and WAIT for the disposition. Before #2524 this
|
|
131
|
+
// broadcast and answered `{ ok: true, received: true }` unconditionally —
|
|
132
|
+
// so a delivery to a webhook nobody had registered, or one whose target
|
|
133
|
+
// scoop was gone, was reported to the caller as a success.
|
|
134
|
+
const event = {
|
|
85
135
|
type: 'webhook_event',
|
|
86
136
|
webhookId: id,
|
|
87
137
|
timestamp: new Date().toISOString(),
|
|
88
138
|
headers: req.headers,
|
|
89
139
|
body,
|
|
90
|
-
}
|
|
91
|
-
|
|
140
|
+
};
|
|
141
|
+
let disposition;
|
|
142
|
+
try {
|
|
143
|
+
disposition = readDisposition(await sendLickRequest('webhook_event', event));
|
|
144
|
+
}
|
|
145
|
+
catch (err) {
|
|
146
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
147
|
+
// A browser older than #2524 does not know the request shape. Fall back
|
|
148
|
+
// to the legacy broadcast (and its legacy receipt) rather than failing a
|
|
149
|
+
// delivery the leader would have handled fine.
|
|
150
|
+
if (msg.includes('Unknown request type')) {
|
|
151
|
+
broadcastLickEvent(event);
|
|
152
|
+
res.json({ ok: true, received: true });
|
|
153
|
+
return;
|
|
154
|
+
}
|
|
155
|
+
res.status(503).json({ ok: false, received: false, error: msg, code: 'BROWSER_UNAVAILABLE' });
|
|
156
|
+
return;
|
|
157
|
+
}
|
|
158
|
+
respondWebhookDisposition(res, id, disposition);
|
|
92
159
|
});
|
|
93
160
|
// Cron task management API — forwards to browser
|
|
94
161
|
app.get('/api/crontasks', async (_req, res) => {
|