@maudecode/talaria-web 1.17.2 → 1.18.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/_release.json +8 -8
- package/dist/api/auth-raw.d.ts +1 -1
- package/dist/api/auth-raw.js +4 -4
- package/dist/api/auth-raw.js.map +1 -1
- package/dist/api/automation-raw.d.ts +6 -0
- package/dist/api/automation-raw.js +53 -6
- package/dist/api/automation-raw.js.map +1 -1
- package/dist/api/automation-router.d.ts +26 -1
- package/dist/api/automation-router.js +16 -2
- package/dist/api/automation-router.js.map +1 -1
- package/dist/api/chat-router.d.ts +649 -15
- package/dist/api/chat-router.js +52 -50
- package/dist/api/chat-router.js.map +1 -1
- package/dist/api/git-router.d.ts +35 -1
- package/dist/api/git-router.js +18 -19
- package/dist/api/git-router.js.map +1 -1
- package/dist/api/raw-routes.d.ts +8 -0
- package/dist/api/raw-routes.js +247 -36
- package/dist/api/raw-routes.js.map +1 -1
- package/dist/api/router.d.ts +10 -0
- package/dist/api/router.js +10 -8
- package/dist/api/router.js.map +1 -1
- package/dist/api/sessions-router.d.ts +1492 -115
- package/dist/api/sessions-router.js +134 -8
- package/dist/api/sessions-router.js.map +1 -1
- package/dist/api/settings-router.d.ts +31 -0
- package/dist/api/settings-router.js +8 -3
- package/dist/api/settings-router.js.map +1 -1
- package/dist/api/sse-routes.d.ts +5 -0
- package/dist/api/sse-routes.js +50 -3
- package/dist/api/sse-routes.js.map +1 -1
- package/dist/api/tools-raw.js +6 -23
- package/dist/api/tools-raw.js.map +1 -1
- package/dist/api/tools-router.d.ts +356 -15
- package/dist/api/tools-router.js +148 -19
- package/dist/api/tools-router.js.map +1 -1
- package/dist/app.js +35 -15
- package/dist/app.js.map +1 -1
- package/dist/auth/gate.js +5 -2
- package/dist/auth/gate.js.map +1 -1
- package/dist/auth/oidc.d.ts +5 -2
- package/dist/auth/oidc.js +8 -7
- package/dist/auth/oidc.js.map +1 -1
- package/dist/bin/talaria-web.js +1 -1
- package/dist/bin/talaria-web.js.map +1 -1
- package/dist/cli/dotenv.js +1 -0
- package/dist/cli/dotenv.js.map +1 -1
- package/dist/config/agent-config.js +3 -2
- package/dist/config/agent-config.js.map +1 -1
- package/dist/config.d.ts +2 -0
- package/dist/config.js +5 -1
- package/dist/config.js.map +1 -1
- package/dist/http/context.d.ts +17 -3
- package/dist/http/context.js +31 -4
- package/dist/http/context.js.map +1 -1
- package/dist/http/csp.d.ts +2 -1
- package/dist/http/csp.js +3 -2
- package/dist/http/csp.js.map +1 -1
- package/dist/profiles/profiles.d.ts +10 -0
- package/dist/profiles/profiles.js +40 -2
- package/dist/profiles/profiles.js.map +1 -1
- package/dist/providers/catalog.d.ts +6 -2
- package/dist/providers/catalog.js +30 -11
- package/dist/providers/catalog.js.map +1 -1
- package/dist/raster-image.d.ts +7 -0
- package/dist/raster-image.js +267 -0
- package/dist/raster-image.js.map +1 -0
- package/dist/redact.js +327 -40
- package/dist/redact.js.map +1 -1
- package/dist/runtime.js +89 -23
- package/dist/runtime.js.map +1 -1
- package/dist/server.js +5 -0
- package/dist/server.js.map +1 -1
- package/dist/sessions/background-tasks.d.ts +2 -9
- package/dist/sessions/background-tasks.js +2 -12
- package/dist/sessions/background-tasks.js.map +1 -1
- package/dist/sessions/cli-sessions.d.ts +15 -4
- package/dist/sessions/cli-sessions.js +120 -29
- package/dist/sessions/cli-sessions.js.map +1 -1
- package/dist/sessions/completions.d.ts +48 -8
- package/dist/sessions/completions.js +222 -26
- package/dist/sessions/completions.js.map +1 -1
- package/dist/sessions/export.d.ts +5 -0
- package/dist/sessions/export.js +30 -0
- package/dist/sessions/export.js.map +1 -1
- package/dist/sessions/gateway-watcher.d.ts +7 -3
- package/dist/sessions/gateway-watcher.js +31 -19
- package/dist/sessions/gateway-watcher.js.map +1 -1
- package/dist/sessions/handoff.d.ts +32 -0
- package/dist/sessions/handoff.js +114 -0
- package/dist/sessions/handoff.js.map +1 -0
- package/dist/sessions/list.d.ts +7 -1
- package/dist/sessions/list.js +13 -5
- package/dist/sessions/list.js.map +1 -1
- package/dist/sessions/merge.d.ts +2 -4
- package/dist/sessions/merge.js +8 -15
- package/dist/sessions/merge.js.map +1 -1
- package/dist/sessions/recovery.d.ts +22 -0
- package/dist/sessions/recovery.js +506 -0
- package/dist/sessions/recovery.js.map +1 -0
- package/dist/sessions/relay.d.ts +21 -2
- package/dist/sessions/relay.js +156 -11
- package/dist/sessions/relay.js.map +1 -1
- package/dist/sessions/service.d.ts +108 -6
- package/dist/sessions/service.js +403 -29
- package/dist/sessions/service.js.map +1 -1
- package/dist/sessions/session.d.ts +6 -0
- package/dist/sessions/session.js +40 -2
- package/dist/sessions/session.js.map +1 -1
- package/dist/sessions/state-db-worker.d.ts +1 -0
- package/dist/sessions/state-db-worker.js +33 -0
- package/dist/sessions/state-db-worker.js.map +1 -0
- package/dist/sessions/state-db.d.ts +61 -0
- package/dist/sessions/state-db.js +291 -0
- package/dist/sessions/state-db.js.map +1 -1
- package/dist/sessions/store.d.ts +7 -0
- package/dist/sessions/store.js +31 -22
- package/dist/sessions/store.js.map +1 -1
- package/dist/sessions/titles.d.ts +2 -0
- package/dist/sessions/titles.js +4 -0
- package/dist/sessions/titles.js.map +1 -1
- package/dist/sessions/tool-display.d.ts +3 -3
- package/dist/sessions/tool-display.js +11 -37
- package/dist/sessions/tool-display.js.map +1 -1
- package/dist/sessions/turn-context.d.ts +1 -1
- package/dist/sessions/turn-context.js +11 -7
- package/dist/sessions/turn-context.js.map +1 -1
- package/dist/sessions/turn.d.ts +37 -2
- package/dist/sessions/turn.js +182 -49
- package/dist/sessions/turn.js.map +1 -1
- package/dist/sessions/wakeup-pause.d.ts +59 -0
- package/dist/sessions/wakeup-pause.js +181 -0
- package/dist/sessions/wakeup-pause.js.map +1 -0
- package/dist/settings.js +5 -7
- package/dist/settings.js.map +1 -1
- package/dist/sidecar/fake.d.ts +2 -2
- package/dist/sidecar/fake.js.map +1 -1
- package/dist/startup.d.ts +13 -5
- package/dist/startup.js +48 -0
- package/dist/startup.js.map +1 -1
- package/dist/test/ts-worker-hooks.d.ts +1 -0
- package/dist/test/ts-worker-hooks.js +24 -0
- package/dist/test/ts-worker-hooks.js.map +1 -0
- package/dist/text/diff.d.ts +9 -14
- package/dist/text/diff.js +74 -108
- package/dist/text/diff.js.map +1 -1
- package/dist/tools/crons.js +45 -8
- package/dist/tools/crons.js.map +1 -1
- package/dist/tools/dashboard-plugins.d.ts +53 -0
- package/dist/tools/dashboard-plugins.js +188 -0
- package/dist/tools/dashboard-plugins.js.map +1 -0
- package/dist/tools/extensions.d.ts +13 -1
- package/dist/tools/extensions.js +132 -60
- package/dist/tools/extensions.js.map +1 -1
- package/dist/tools/health.d.ts +32 -0
- package/dist/tools/health.js +111 -19
- package/dist/tools/health.js.map +1 -1
- package/dist/tools/mcp.d.ts +13 -0
- package/dist/tools/mcp.js +88 -0
- package/dist/tools/mcp.js.map +1 -1
- package/dist/tools/project-os.d.ts +11 -0
- package/dist/tools/project-os.js +267 -0
- package/dist/tools/project-os.js.map +1 -0
- package/dist/tools/skills.d.ts +5 -1
- package/dist/tools/skills.js +5 -3
- package/dist/tools/skills.js.map +1 -1
- package/dist/tools/updates.d.ts +27 -9
- package/dist/tools/updates.js +163 -51
- package/dist/tools/updates.js.map +1 -1
- package/dist/tools/wiki.d.ts +68 -0
- package/dist/tools/wiki.js +413 -0
- package/dist/tools/wiki.js.map +1 -0
- package/dist/workspace/escape.d.ts +61 -0
- package/dist/workspace/escape.js +149 -0
- package/dist/workspace/escape.js.map +1 -0
- package/dist/workspace/extract.d.ts +22 -0
- package/dist/workspace/extract.js +308 -0
- package/dist/workspace/extract.js.map +1 -0
- package/dist/workspace/fs.d.ts +12 -0
- package/dist/workspace/fs.js +92 -23
- package/dist/workspace/fs.js.map +1 -1
- package/dist/workspace/git.d.ts +18 -0
- package/dist/workspace/git.js +38 -25
- package/dist/workspace/git.js.map +1 -1
- package/dist/workspace/media.d.ts +4 -4
- package/dist/workspace/media.js +16 -45
- package/dist/workspace/media.js.map +1 -1
- package/dist/workspace/rollback.d.ts +34 -20
- package/dist/workspace/rollback.js +171 -265
- package/dist/workspace/rollback.js.map +1 -1
- package/dist/workspace/unzip.js +4 -1
- package/dist/workspace/unzip.js.map +1 -1
- package/dist/workspace/upload.d.ts +7 -4
- package/dist/workspace/upload.js +5 -2
- package/dist/workspace/upload.js.map +1 -1
- package/dist/workspace/worktrees.d.ts +2 -1
- package/dist/workspace/worktrees.js +14 -15
- package/dist/workspace/worktrees.js.map +1 -1
- package/package.json +4 -2
- package/sidecar/agent_dependency.json +4 -4
- package/sidecar/scripts/replay_sidecar.py +24 -0
- package/sidecar/talaria_sidecar/__init__.py +1 -1
- package/sidecar/talaria_sidecar/home.py +13 -2
- package/sidecar/talaria_sidecar/methods/__init__.py +2 -2
- package/sidecar/talaria_sidecar/methods/aux.py +39 -5
- package/sidecar/talaria_sidecar/methods/chat.py +9 -5
- package/sidecar/talaria_sidecar/methods/checkpoints.py +89 -0
- package/sidecar/talaria_sidecar/methods/commands.py +81 -0
- package/sidecar/talaria_sidecar/methods/cron.py +29 -2
- package/sidecar/talaria_sidecar/methods/gateway.py +32 -15
- package/sidecar/talaria_sidecar/methods/kanban.py +28 -7
- package/sidecar/talaria_sidecar/methods/mcp.py +1 -1
- package/sidecar/talaria_sidecar/methods/process.py +58 -4
- package/sidecar/talaria_sidecar/methods/profiles.py +77 -7
- package/sidecar/talaria_sidecar/methods/providers.py +27 -8
- package/sidecar/talaria_sidecar/methods/state_db.py +39 -5
- package/sidecar/talaria_sidecar/runtime.py +17 -1
- package/static/dist/FILES.txt +127 -126
- package/static/dist/assets/AppShell-g3bkgnvt.js +1 -0
- package/static/dist/assets/ChatPage-oo7bdan6.js +25 -0
- package/static/dist/assets/Dialog-g355qxhp.js +1 -0
- package/static/dist/assets/ExtensionRoute-i2y9fvjm.js +1 -0
- package/static/dist/assets/HubRoute-lmkrbw47.js +2 -0
- package/static/dist/assets/{Markdown-mdwlvj3w.js → Markdown-j4kut4j2.js} +114 -114
- package/static/dist/assets/{RightPanel-ftvrjlcp.js → RightPanel-ohlsdzfl.js} +1 -1
- package/static/dist/assets/Select-kddq75qc.js +1 -0
- package/static/dist/assets/SessionListPanel-lu3oy0hw.js +1 -0
- package/static/dist/assets/{SettingsLayout-jonjefmj.js → SettingsLayout-o9bv4mgb.js} +1 -1
- package/static/dist/assets/{States-nmejrwrm.js → States-eq6fe29m.js} +1 -1
- package/static/dist/assets/Toaster-pc247u9f.js +1 -0
- package/static/dist/assets/{_app-gdidzd94.js → _app-f8n1i0m1.js} +1 -1
- package/static/dist/assets/{_app.ext._extensionId-opyh9y0v.js → _app.ext._extensionId-gfbzpoou.js} +1 -1
- package/static/dist/assets/_app.index-bzzv80hk.js +1 -0
- package/static/dist/assets/_app.insights-dzixbryi.js +1 -0
- package/static/dist/assets/_app.kanban-c6hep2us.js +1 -0
- package/static/dist/assets/_app.logs-i69qds98.js +1 -0
- package/static/dist/assets/_app.memory-kl4vf0gd.js +1 -0
- package/static/dist/assets/_app.profiles-b8zinmyp.js +1 -0
- package/static/dist/assets/{_app.session._sessionId-bfd4h3id.js → _app.session._sessionId-fn1bhde6.js} +1 -1
- package/static/dist/assets/_app.settings-cg8plwmf.js +1 -0
- package/static/dist/assets/_app.settings._section-bkwbi9zn.js +3 -0
- package/static/dist/assets/_app.skills-cs47sbvs.js +1 -0
- package/static/dist/assets/_app.tasks-dwvk64tc.js +1 -0
- package/static/dist/assets/_app.todos-c8xjm8p3.js +1 -0
- package/static/dist/assets/_app.workspaces-ehvd1gds.js +1 -0
- package/static/dist/assets/{abnfDiagram-VCTEODGH-b2x1lqot.js → abnfDiagram-VCTEODGH-c8kdixke.js} +1 -1
- package/static/dist/assets/architecture-7GRP2DOG-6crvnylg.js +1 -0
- package/static/dist/assets/{architectureDiagram-5GKGNRK7-h38o5l7b.js → architectureDiagram-5GKGNRK7-cku06x1p.js} +1 -1
- package/static/dist/assets/{back-bemaer09.js → back-h7aun7ew.js} +1 -1
- package/static/dist/assets/{blockDiagram-I7D4REHJ-bqquxv2u.js → blockDiagram-I7D4REHJ-jzthp1wa.js} +1 -1
- package/static/dist/assets/{c4Diagram-7LVT6UL2-f3fb8w6z.js → c4Diagram-7LVT6UL2-mwr67mt8.js} +1 -1
- package/static/dist/assets/{cancel-drd0g6d9.js → cancel-fhi0vcnu.js} +1 -1
- package/static/dist/assets/channel-b2zo73z1.js +1 -0
- package/static/dist/assets/{chunk-4HAMMTFA-bzfyyzp3.js → chunk-4HAMMTFA-gpq1y228.js} +1 -1
- package/static/dist/assets/{chunk-75Z2AOVW-ly99rfx5.js → chunk-75Z2AOVW-ktje58c4.js} +1 -1
- package/static/dist/assets/{chunk-DU6HZSFF-bg6ecfqf.js → chunk-DU6HZSFF-ofajdixh.js} +3 -3
- package/static/dist/assets/{chunk-F27PBJKO-e8k7mmqw.js → chunk-F27PBJKO-cmev85ti.js} +1 -1
- package/static/dist/assets/{chunk-GMAD6QVW-cmalnoaj.js → chunk-GMAD6QVW-htjgt22y.js} +1 -1
- package/static/dist/assets/{chunk-GVQU2GXP-gmif5o01.js → chunk-GVQU2GXP-qndvoxl7.js} +1 -1
- package/static/dist/assets/{chunk-IMKFNOWR-f1nwwh6u.js → chunk-IMKFNOWR-e5bkd5q6.js} +1 -1
- package/static/dist/assets/{chunk-L3NEJ4N5-oktfh5v7.js → chunk-L3NEJ4N5-mj1155r6.js} +1 -1
- package/static/dist/assets/{chunk-OSK3NFVY-b1sdx96z.js → chunk-OSK3NFVY-e7gkikcw.js} +1 -1
- package/static/dist/assets/{chunk-P2QGCYS3-fhu4nzxt.js → chunk-P2QGCYS3-f7t54xfm.js} +1 -1
- package/static/dist/assets/{chunk-POPQ4Y6H-em31rnef.js → chunk-POPQ4Y6H-i927v9oa.js} +1 -1
- package/static/dist/assets/{chunk-PWAF6VOD-bxhhyftw.js → chunk-PWAF6VOD-m84lmnyt.js} +1 -1
- package/static/dist/assets/{chunk-SHT3W25Y-fmrvwcav.js → chunk-SHT3W25Y-mi0tlcu9.js} +1 -1
- package/static/dist/assets/{chunk-SVP7TREG-lymukl2j.js → chunk-SVP7TREG-dnau702j.js} +1 -1
- package/static/dist/assets/{chunk-TICWLB2K-lmza6k23.js → chunk-TICWLB2K-edem1gkg.js} +1 -1
- package/static/dist/assets/classDiagram-ZZMXUADV-oe99st8x.js +1 -0
- package/static/dist/assets/classDiagram-v2-VYDZK3BY-oe99st8x.js +1 -0
- package/static/dist/assets/{copied-ima3pysb.js → copied-hcplv46p.js} +1 -1
- package/static/dist/assets/{copy-fw5b1pc6.js → copy-magtofyp.js} +1 -1
- package/static/dist/assets/{cynefin-OW5HDTMX-czlhbyhs.js → cynefin-OW5HDTMX-siqlulkl.js} +1 -1
- package/static/dist/assets/{cynefinDiagram-5FMLGOSQ-gq7mvswb.js → cynefinDiagram-5FMLGOSQ-i648tah9.js} +1 -1
- package/static/dist/assets/{dagre-GXQ25YYZ-cqdbf7dr.js → dagre-GXQ25YYZ-mwn6uc17.js} +1 -1
- package/static/dist/assets/{diagram-S7CK7UJ4-o6arxa58.js → diagram-S7CK7UJ4-l8abxaes.js} +1 -1
- package/static/dist/assets/{diagram-UQ7AKVKN-nhnd68tz.js → diagram-UQ7AKVKN-mekq7zgq.js} +1 -1
- package/static/dist/assets/{diagram-VSXAHHWV-dk2sclzn.js → diagram-VSXAHHWV-fnky6lvc.js} +1 -1
- package/static/dist/assets/{diagram-VX7I27RA-n3k5nyx3.js → diagram-VX7I27RA-xe6r5qfw.js} +1 -1
- package/static/dist/assets/{diagram-Z3DM3KII-m6q9cwdh.js → diagram-Z3DM3KII-nq07dg7k.js} +1 -1
- package/static/dist/assets/{ebnfDiagram-PWID7BFC-lsa5641p.js → ebnfDiagram-PWID7BFC-c62ipm3g.js} +1 -1
- package/static/dist/assets/endpoints-klbxod4t.js +64 -0
- package/static/dist/assets/{erDiagram-RLTQ6QDP-fo2ckbe6.js → erDiagram-RLTQ6QDP-h39kmnzy.js} +1 -1
- package/static/dist/assets/eventmodeling-NTZA5JFV-obfede4u.js +1 -0
- package/static/dist/assets/flowDiagram-HODETNUW-kdpsp1je.js +1 -0
- package/static/dist/assets/{ganttDiagram-EL5Y4UJY-nzqz6x9g.js → ganttDiagram-EL5Y4UJY-ngbsyp37.js} +1 -1
- package/static/dist/assets/{gitGraph-4MIJSDKK-gukvcxe6.js → gitGraph-4MIJSDKK-fr2i7caa.js} +1 -1
- package/static/dist/assets/{gitGraphDiagram-WWUBYQGX-lqhdp8f0.js → gitGraphDiagram-WWUBYQGX-eravdti4.js} +1 -1
- package/static/dist/assets/{highlighted-body-KPVGNVTW-igw6cp39.js → highlighted-body-KPVGNVTW-jwpop9p8.js} +1 -1
- package/static/dist/assets/host-i828xuo7.js +1 -0
- package/static/dist/assets/index-eh8zilnv.css +2 -0
- package/static/dist/assets/{index-cxq58xb1.js → index-r648f4o1.js} +5 -5
- package/static/dist/assets/{info-A6RAGUB7-gvu7a93l.js → info-A6RAGUB7-h11x0dxo.js} +1 -1
- package/static/dist/assets/{infoDiagram-27XIBGKW-m8t8g6w1.js → infoDiagram-27XIBGKW-dfh47dw9.js} +1 -1
- package/static/dist/assets/{ishikawaDiagram-5VMMS53U-l07vkbgj.js → ishikawaDiagram-5VMMS53U-i6ypq351.js} +1 -1
- package/static/dist/assets/{journeyDiagram-3NMN7TZE-hybkgj8l.js → journeyDiagram-3NMN7TZE-lduf1z95.js} +1 -1
- package/static/dist/assets/{kanban-definition-UXKFOSKX-by13uvtn.js → kanban-definition-UXKFOSKX-e18bu4pg.js} +1 -1
- package/static/dist/assets/{lazyRouteComponent-af0lvgjx.js → lazyRouteComponent-e1y4t2i9.js} +1 -1
- package/static/dist/assets/{line-osxq6fq7.js → line-meizqsvn.js} +1 -1
- package/static/dist/assets/{link-jyxicdhg.js → link-oot2yn73.js} +1 -1
- package/static/dist/assets/login-gu28l9ou.js +1 -0
- package/static/dist/assets/mermaid-HWGCJPDP-mtwrj8fn.js +1 -0
- package/static/dist/assets/{mermaid-parser.core-i91oxmou.js → mermaid-parser.core-ntne45i9.js} +3 -3
- package/static/dist/assets/{mindmap-definition-YA3MSWOX-m82mx8ww.js → mindmap-definition-YA3MSWOX-27b26eok.js} +1 -1
- package/static/dist/assets/onboarding-lkphzu1s.js +1 -0
- package/static/dist/assets/{onboarding_model_label-dp7xffoh.js → onboarding_model_label-ftpjdwqk.js} +1 -1
- package/static/dist/assets/{packet-AYTQ26CC-nbtgge2o.js → packet-AYTQ26CC-l6jdka8p.js} +1 -1
- package/static/dist/assets/{pegDiagram-XKGWAZYB-f1zxzga1.js → pegDiagram-XKGWAZYB-g1er3bxj.js} +1 -1
- package/static/dist/assets/{pie-WAS4IAKB-of8vuhxs.js → pie-WAS4IAKB-i0ylcrt9.js} +1 -1
- package/static/dist/assets/{pieDiagram-E7YTZNPT-o7y8ftio.js → pieDiagram-E7YTZNPT-fbz1e55z.js} +1 -1
- package/static/dist/assets/{quadrantDiagram-AXDQQJYC-iqiwia1t.js → quadrantDiagram-AXDQQJYC-hhue7d8o.js} +1 -1
- package/static/dist/assets/{radar-RG4KPBEZ-delnsy2v.js → radar-RG4KPBEZ-f9b70aa4.js} +1 -1
- package/static/dist/assets/{railroad-74A4TZTK-nspnyq9u.js → railroad-74A4TZTK-lgsuoeda.js} +1 -1
- package/static/dist/assets/railroad-abnf-HS5TGJTU-nf9d6pdx.js +1 -0
- package/static/dist/assets/railroad-ebnf-LZEXJU2U-f7ummkt5.js +1 -0
- package/static/dist/assets/railroad-peg-WCYAUIDC-oczq5tqs.js +1 -0
- package/static/dist/assets/{railroadDiagram-O6MQD6OU-z41tqx5z.js → railroadDiagram-O6MQD6OU-eqpy9fnz.js} +1 -1
- package/static/dist/assets/{refresh-b4uams1i.js → refresh-abtu93ke.js} +1 -1
- package/static/dist/assets/{refresh-cw-nt1dtsx4.js → refresh-cw-hlwb02qv.js} +1 -1
- package/static/dist/assets/{requirementDiagram-BXWQKSXE-bdvif194.js → requirementDiagram-BXWQKSXE-ogf6puhi.js} +1 -1
- package/static/dist/assets/{sankeyDiagram-P5KCCOFB-h73e0rol.js → sankeyDiagram-P5KCCOFB-fqb8xcjf.js} +1 -1
- package/static/dist/assets/{saved-kg52csy7.js → saved-girnabkf.js} +1 -1
- package/static/dist/assets/{sequenceDiagram-WJ2MYXX4-iv95mb1z.js → sequenceDiagram-WJ2MYXX4-dlcz6qjz.js} +1 -1
- package/static/dist/assets/{settings_section_extensions_title-ej0iapxe.js → settings_section_extensions_title-h14cwk6f.js} +1 -1
- package/static/dist/assets/share._token-kl0r7ido.js +2 -0
- package/static/dist/assets/{sliders-horizontal-fj18it47.js → sliders-horizontal-n1zm34qq.js} +1 -1
- package/static/dist/assets/sse-iwku0sjo.js +1 -0
- package/static/dist/assets/{stateDiagram-D77RDMKH-k417ixmf.js → stateDiagram-D77RDMKH-fyoznpcs.js} +1 -1
- package/static/dist/assets/stateDiagram-v2-MP3YSRHH-ixhx8r46.js +1 -0
- package/static/dist/assets/{swimlanes-42K2YHIH-esola70w.js → swimlanes-42K2YHIH-oefldhfy.js} +1 -1
- package/static/dist/assets/swimlanesDiagram-VR7AAH4N-h9ersk2e.js +8 -0
- package/static/dist/assets/{timeline-definition-24CTP7MA-getrz2y8.js → timeline-definition-24CTP7MA-b1vl2zil.js} +1 -1
- package/static/dist/assets/todoStore-jjr5yr78.js +1 -0
- package/static/dist/assets/{treeView-Q6P3EWNA-hc7ap1q7.js → treeView-Q6P3EWNA-f7hcci5o.js} +1 -1
- package/static/dist/assets/{treemap-WGGIJYW6-b7k1syy5.js → treemap-WGGIJYW6-nl85071a.js} +1 -1
- package/static/dist/assets/{tts-lxdxnmjd.js → units-kgxzxfhi.js} +1 -1
- package/static/dist/assets/{untitled-ovpfthg4.js → untitled-cikfjntn.js} +1 -1
- package/static/dist/assets/{useForm-bcblv1rx.js → useForm-kqoqg0k9.js} +1 -1
- package/static/dist/assets/useLocale-o59tbiea.js +1 -0
- package/static/dist/assets/{useParams-lhg566ew.js → useParams-b4dq6n4q.js} +1 -1
- package/static/dist/assets/{useSearch-lbrh6ejn.js → useSearch-ipfmv3he.js} +1 -1
- package/static/dist/assets/{vennDiagram-4TSXK5OY-n6pcy5qb.js → vennDiagram-4TSXK5OY-h5hzbk0n.js} +1 -1
- package/static/dist/assets/{wardley-WFR3VGLG-lpa18vz1.js → wardley-WFR3VGLG-jftvpm3e.js} +1 -1
- package/static/dist/assets/{wardleyDiagram-VM6X3IG4-kpclwwg7.js → wardleyDiagram-VM6X3IG4-hedh85ge.js} +1 -1
- package/static/dist/assets/{xychartDiagram-S5SC5T6Z-paa2n8y0.js → xychartDiagram-S5SC5T6Z-e49523ab.js} +1 -1
- package/static/dist/index.html +1 -1
- package/static/dist/sw.js +1 -1
- package/static/dist/assets/AppShell-fb2td9zi.js +0 -1
- package/static/dist/assets/ChatPage-cj96kiy9.js +0 -25
- package/static/dist/assets/Dialog-kxcg7ard.js +0 -1
- package/static/dist/assets/ExtensionRoute-jf7h0754.js +0 -1
- package/static/dist/assets/HubRoute-gmanpd5y.js +0 -2
- package/static/dist/assets/Select-bilaypej.js +0 -1
- package/static/dist/assets/SessionListPanel-og8n36qs.js +0 -1
- package/static/dist/assets/Toaster-nnl8zkt9.js +0 -1
- package/static/dist/assets/_app.index-hbarzbjx.js +0 -1
- package/static/dist/assets/_app.insights-luywlarz.js +0 -1
- package/static/dist/assets/_app.kanban-kincnbr8.js +0 -1
- package/static/dist/assets/_app.logs-oi2gr3gs.js +0 -1
- package/static/dist/assets/_app.memory-b6jfivt6.js +0 -1
- package/static/dist/assets/_app.profiles-lpvixmqp.js +0 -1
- package/static/dist/assets/_app.settings-vowx3iq0.js +0 -1
- package/static/dist/assets/_app.settings._section-cnntg1tu.js +0 -3
- package/static/dist/assets/_app.skills-fb57lpau.js +0 -1
- package/static/dist/assets/_app.tasks-eszpx1q7.js +0 -2
- package/static/dist/assets/_app.todos-nr05ac6w.js +0 -1
- package/static/dist/assets/_app.workspaces-d2luomu6.js +0 -1
- package/static/dist/assets/architecture-7GRP2DOG-hd0o7bde.js +0 -1
- package/static/dist/assets/channel-cpdgf867.js +0 -1
- package/static/dist/assets/classDiagram-ZZMXUADV-ko09sguk.js +0 -1
- package/static/dist/assets/classDiagram-v2-VYDZK3BY-ko09sguk.js +0 -1
- package/static/dist/assets/endpoints-d33siokx.js +0 -64
- package/static/dist/assets/eventmodeling-NTZA5JFV-emctlo64.js +0 -1
- package/static/dist/assets/flowDiagram-HODETNUW-bfi3moqa.js +0 -1
- package/static/dist/assets/index-hgtx08n5.css +0 -2
- package/static/dist/assets/login-ec21t39x.js +0 -1
- package/static/dist/assets/mermaid-HWGCJPDP-gfl8z3ep.js +0 -1
- package/static/dist/assets/onboarding-btnltvyz.js +0 -1
- package/static/dist/assets/railroad-abnf-HS5TGJTU-nst1qxyn.js +0 -1
- package/static/dist/assets/railroad-ebnf-LZEXJU2U-ci37x8qy.js +0 -1
- package/static/dist/assets/railroad-peg-WCYAUIDC-aimkk07z.js +0 -1
- package/static/dist/assets/share._token-f97e94r0.js +0 -2
- package/static/dist/assets/sse-fwpqtzbg.js +0 -1
- package/static/dist/assets/stateDiagram-v2-MP3YSRHH-hwn4apct.js +0 -1
- package/static/dist/assets/swimlanesDiagram-VR7AAH4N-d1h97oyg.js +0 -8
- package/static/dist/assets/todoStore-eginf9h4.js +0 -1
- package/static/dist/assets/useLocale-fi5jb8ma.js +0 -1
|
@@ -0,0 +1,267 @@
|
|
|
1
|
+
import { crc32 } from 'node:zlib';
|
|
2
|
+
/**
|
|
3
|
+
* Python `_is_native_raster_data_uri`: whether a value is one complete, canonical raster image data URI. Image bytes are
|
|
4
|
+
* opaque, so text redaction would only corrupt them; but this is a credential boundary, so a header or magic prefix is
|
|
5
|
+
* not enough. The whole canonical base64 payload is decoded and the image format must end exactly at its last byte; any
|
|
6
|
+
* malformed, ambiguous, or trailing content falls through to normal redaction.
|
|
7
|
+
*/
|
|
8
|
+
export function isRasterDataUri(value) {
|
|
9
|
+
if (typeof value !== 'string')
|
|
10
|
+
return false;
|
|
11
|
+
// Scheme and MIME type are case-insensitive; only the short header is lowered, never the payload.
|
|
12
|
+
const match = RASTER_PREFIXES.find(([prefix]) => value.slice(0, prefix.length).toLowerCase() === prefix);
|
|
13
|
+
if (!match)
|
|
14
|
+
return false;
|
|
15
|
+
const payload = value.slice(match[0].length);
|
|
16
|
+
if (!payload)
|
|
17
|
+
return false;
|
|
18
|
+
const raw = Buffer.from(payload, 'base64');
|
|
19
|
+
// `Buffer.from` skips foreign characters and tolerates missing padding; the round trip accepts only canonical base64.
|
|
20
|
+
if (raw.toString('base64') !== payload)
|
|
21
|
+
return false;
|
|
22
|
+
return match[1](raw);
|
|
23
|
+
}
|
|
24
|
+
function isCompletePng(raw) {
|
|
25
|
+
if (raw.length < 8 || !raw.subarray(0, 8).equals(PNG_SIGNATURE))
|
|
26
|
+
return false;
|
|
27
|
+
let pos = 8;
|
|
28
|
+
let index = 0;
|
|
29
|
+
let sawIdat = false;
|
|
30
|
+
while (pos < raw.length) {
|
|
31
|
+
if (pos + 12 > raw.length)
|
|
32
|
+
return false;
|
|
33
|
+
const length = raw.readUInt32BE(pos);
|
|
34
|
+
const type = raw.subarray(pos + 4, pos + 8);
|
|
35
|
+
const dataStart = pos + 8;
|
|
36
|
+
const dataEnd = dataStart + length;
|
|
37
|
+
const chunkEnd = dataEnd + 4;
|
|
38
|
+
if (chunkEnd > raw.length)
|
|
39
|
+
return false;
|
|
40
|
+
if (!type.every((b) => (b >= 65 && b <= 90) || (b >= 97 && b <= 122)))
|
|
41
|
+
return false;
|
|
42
|
+
// The PNG reserved bit must be zero.
|
|
43
|
+
if (type[2] < 65 || type[2] > 90)
|
|
44
|
+
return false;
|
|
45
|
+
if (crc32(raw.subarray(pos + 4, dataEnd)) !== raw.readUInt32BE(dataEnd))
|
|
46
|
+
return false;
|
|
47
|
+
const name = type.toString('latin1');
|
|
48
|
+
if (index === 0) {
|
|
49
|
+
if (name !== 'IHDR' || length !== 13)
|
|
50
|
+
return false;
|
|
51
|
+
const depth = raw[dataStart + 8];
|
|
52
|
+
const depths = PNG_DEPTHS[raw[dataStart + 9]];
|
|
53
|
+
if (!raw.readUInt32BE(dataStart) || !raw.readUInt32BE(dataStart + 4) || !depths?.includes(depth) || raw[dataStart + 10] !== 0 || raw[dataStart + 11] !== 0 || raw[dataStart + 12] > 1)
|
|
54
|
+
return false;
|
|
55
|
+
}
|
|
56
|
+
else if (name === 'IHDR')
|
|
57
|
+
return false;
|
|
58
|
+
if (name === 'IDAT')
|
|
59
|
+
sawIdat = true;
|
|
60
|
+
if (name === 'IEND')
|
|
61
|
+
return length === 0 && sawIdat && chunkEnd === raw.length;
|
|
62
|
+
pos = chunkEnd;
|
|
63
|
+
index += 1;
|
|
64
|
+
}
|
|
65
|
+
return false;
|
|
66
|
+
}
|
|
67
|
+
function isCompleteJpeg(raw) {
|
|
68
|
+
if (raw.length < 4 || raw[0] !== 0xff || raw[1] !== 0xd8)
|
|
69
|
+
return false;
|
|
70
|
+
let pos = 2;
|
|
71
|
+
let sawSof = false;
|
|
72
|
+
let sawScan = false;
|
|
73
|
+
while (pos < raw.length) {
|
|
74
|
+
if (raw[pos] !== 0xff)
|
|
75
|
+
return false;
|
|
76
|
+
while (pos < raw.length && raw[pos] === 0xff)
|
|
77
|
+
pos += 1;
|
|
78
|
+
if (pos >= raw.length)
|
|
79
|
+
return false;
|
|
80
|
+
const marker = raw[pos];
|
|
81
|
+
pos += 1;
|
|
82
|
+
if (marker === 0xd9)
|
|
83
|
+
return sawSof && sawScan && pos === raw.length;
|
|
84
|
+
if (marker === 0x00 || marker === 0x01 || marker === 0xd8 || (marker >= 0xd0 && marker <= 0xd7))
|
|
85
|
+
return false;
|
|
86
|
+
if (pos + 2 > raw.length)
|
|
87
|
+
return false;
|
|
88
|
+
const segmentLength = raw.readUInt16BE(pos);
|
|
89
|
+
if (segmentLength < 2)
|
|
90
|
+
return false;
|
|
91
|
+
const segmentEnd = pos + segmentLength;
|
|
92
|
+
if (segmentEnd > raw.length)
|
|
93
|
+
return false;
|
|
94
|
+
if (JPEG_SOF_MARKERS.has(marker)) {
|
|
95
|
+
if (segmentLength < 8)
|
|
96
|
+
return false;
|
|
97
|
+
sawSof = true;
|
|
98
|
+
}
|
|
99
|
+
pos = segmentEnd;
|
|
100
|
+
if (marker !== 0xda)
|
|
101
|
+
continue;
|
|
102
|
+
// Entropy-coded scan data: skip to the next marker that is neither a stuffed zero nor a restart marker.
|
|
103
|
+
sawScan = true;
|
|
104
|
+
let next = -1;
|
|
105
|
+
while (pos < raw.length) {
|
|
106
|
+
if (raw[pos] !== 0xff) {
|
|
107
|
+
pos += 1;
|
|
108
|
+
continue;
|
|
109
|
+
}
|
|
110
|
+
const markerStart = pos;
|
|
111
|
+
while (pos < raw.length && raw[pos] === 0xff)
|
|
112
|
+
pos += 1;
|
|
113
|
+
if (pos >= raw.length)
|
|
114
|
+
return false;
|
|
115
|
+
const scanMarker = raw[pos];
|
|
116
|
+
if (scanMarker === 0x00 || (scanMarker >= 0xd0 && scanMarker <= 0xd7)) {
|
|
117
|
+
pos += 1;
|
|
118
|
+
continue;
|
|
119
|
+
}
|
|
120
|
+
next = markerStart;
|
|
121
|
+
break;
|
|
122
|
+
}
|
|
123
|
+
if (next < 0)
|
|
124
|
+
return false;
|
|
125
|
+
pos = next;
|
|
126
|
+
}
|
|
127
|
+
return false;
|
|
128
|
+
}
|
|
129
|
+
/** The offset after a GIF data sub-block chain's terminator, or -1 when it runs past the end. */
|
|
130
|
+
function gifSubblocksEnd(raw, start) {
|
|
131
|
+
let pos = start;
|
|
132
|
+
while (pos < raw.length) {
|
|
133
|
+
const size = raw[pos];
|
|
134
|
+
pos += 1;
|
|
135
|
+
if (size === 0)
|
|
136
|
+
return pos;
|
|
137
|
+
if (pos + size > raw.length)
|
|
138
|
+
return -1;
|
|
139
|
+
pos += size;
|
|
140
|
+
}
|
|
141
|
+
return -1;
|
|
142
|
+
}
|
|
143
|
+
function isCompleteGif(raw) {
|
|
144
|
+
if (raw.length < 14 || !['GIF87a', 'GIF89a'].includes(raw.toString('latin1', 0, 6)))
|
|
145
|
+
return false;
|
|
146
|
+
if (!raw.readUInt16LE(6) || !raw.readUInt16LE(8))
|
|
147
|
+
return false;
|
|
148
|
+
const packed = raw[10];
|
|
149
|
+
let pos = 13;
|
|
150
|
+
if (packed & 0x80)
|
|
151
|
+
pos += 3 * (1 << ((packed & 0x07) + 1));
|
|
152
|
+
if (pos > raw.length)
|
|
153
|
+
return false;
|
|
154
|
+
let sawImage = false;
|
|
155
|
+
while (pos < raw.length) {
|
|
156
|
+
const introducer = raw[pos];
|
|
157
|
+
pos += 1;
|
|
158
|
+
if (introducer === 0x3b)
|
|
159
|
+
return sawImage && pos === raw.length;
|
|
160
|
+
if (introducer === 0x21) {
|
|
161
|
+
if (pos >= raw.length)
|
|
162
|
+
return false;
|
|
163
|
+
pos = gifSubblocksEnd(raw, pos + 1);
|
|
164
|
+
if (pos < 0)
|
|
165
|
+
return false;
|
|
166
|
+
continue;
|
|
167
|
+
}
|
|
168
|
+
if (introducer !== 0x2c || pos + 9 > raw.length)
|
|
169
|
+
return false;
|
|
170
|
+
if (!raw.readUInt16LE(pos + 4) || !raw.readUInt16LE(pos + 6))
|
|
171
|
+
return false;
|
|
172
|
+
const imagePacked = raw[pos + 8];
|
|
173
|
+
pos += 9;
|
|
174
|
+
if (imagePacked & 0x80)
|
|
175
|
+
pos += 3 * (1 << ((imagePacked & 0x07) + 1));
|
|
176
|
+
if (pos >= raw.length)
|
|
177
|
+
return false;
|
|
178
|
+
const lzwMinimumCodeSize = raw[pos];
|
|
179
|
+
if (lzwMinimumCodeSize < 2 || lzwMinimumCodeSize > 11)
|
|
180
|
+
return false;
|
|
181
|
+
pos = gifSubblocksEnd(raw, pos + 1);
|
|
182
|
+
if (pos < 0)
|
|
183
|
+
return false;
|
|
184
|
+
sawImage = true;
|
|
185
|
+
}
|
|
186
|
+
return false;
|
|
187
|
+
}
|
|
188
|
+
function isWebpImageChunk(type, data) {
|
|
189
|
+
if (type === 'VP8 ')
|
|
190
|
+
return data.length >= 10 && data[3] === 0x9d && data[4] === 0x01 && data[5] === 0x2a && Boolean(data.readUInt16LE(6) & 0x3fff) && Boolean(data.readUInt16LE(8) & 0x3fff);
|
|
191
|
+
// The three high bits of the fifth byte are the version number; the lossless bitstream defines only version zero.
|
|
192
|
+
if (type === 'VP8L')
|
|
193
|
+
return data.length >= 5 && data[0] === 0x2f && !(data[4] & 0xe0);
|
|
194
|
+
return false;
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* Walk RIFF chunks from `start` to the end of `data`, requiring exactly one image. `chunk` checks every other chunk:
|
|
198
|
+
* true accepts it, `'image'` counts it as the image, false rejects the file.
|
|
199
|
+
*/
|
|
200
|
+
function webpChunksComplete(data, start, chunk) {
|
|
201
|
+
let pos = start;
|
|
202
|
+
let sawImage = false;
|
|
203
|
+
while (pos < data.length) {
|
|
204
|
+
if (pos + 8 > data.length)
|
|
205
|
+
return false;
|
|
206
|
+
const type = data.toString('latin1', pos, pos + 4);
|
|
207
|
+
const size = data.readUInt32LE(pos + 4);
|
|
208
|
+
const dataStart = pos + 8;
|
|
209
|
+
const dataEnd = dataStart + size;
|
|
210
|
+
const chunkEnd = dataEnd + (size & 1);
|
|
211
|
+
if (chunkEnd > data.length)
|
|
212
|
+
return false;
|
|
213
|
+
const body = data.subarray(dataStart, dataEnd);
|
|
214
|
+
if (type === 'VP8 ' || type === 'VP8L') {
|
|
215
|
+
if (sawImage || !isWebpImageChunk(type, body))
|
|
216
|
+
return false;
|
|
217
|
+
sawImage = true;
|
|
218
|
+
}
|
|
219
|
+
else {
|
|
220
|
+
const verdict = chunk(type, body);
|
|
221
|
+
if (!verdict)
|
|
222
|
+
return false;
|
|
223
|
+
if (verdict === 'image')
|
|
224
|
+
sawImage = true;
|
|
225
|
+
}
|
|
226
|
+
pos = chunkEnd;
|
|
227
|
+
}
|
|
228
|
+
return sawImage && pos === data.length;
|
|
229
|
+
}
|
|
230
|
+
function isCompleteWebp(raw) {
|
|
231
|
+
if (raw.length < 20 || raw.toString('latin1', 0, 4) !== 'RIFF' || raw.toString('latin1', 8, 12) !== 'WEBP' || raw.readUInt32LE(4) + 8 !== raw.length)
|
|
232
|
+
return false;
|
|
233
|
+
return webpChunksComplete(raw, 12, (type, body) => {
|
|
234
|
+
if (type === 'VP8X')
|
|
235
|
+
return body.length === 10 && !(body[0] & 0x81) && !body[1] && !body[2] && !body[3];
|
|
236
|
+
// One extended-WebP animation frame: its nested chunks are an optional alpha plane and exactly one image.
|
|
237
|
+
if (type === 'ANMF')
|
|
238
|
+
return body.length >= 16 && !(body[15] & 0xfc) && webpChunksComplete(body, 16, (inner) => inner === 'ALPH') ? 'image' : false;
|
|
239
|
+
return true;
|
|
240
|
+
});
|
|
241
|
+
}
|
|
242
|
+
function isCompleteBmp(raw) {
|
|
243
|
+
if (raw.length < 26 || raw.toString('latin1', 0, 2) !== 'BM' || raw.readUInt32LE(2) !== raw.length)
|
|
244
|
+
return false;
|
|
245
|
+
const pixelOffset = raw.readUInt32LE(10);
|
|
246
|
+
const dibSize = raw.readUInt32LE(14);
|
|
247
|
+
let width, height, planes, bitsPerPixel;
|
|
248
|
+
if (dibSize === 12)
|
|
249
|
+
[width, height, planes, bitsPerPixel] = [raw.readUInt16LE(18), raw.readUInt16LE(20), raw.readUInt16LE(22), raw.readUInt16LE(24)];
|
|
250
|
+
else if (dibSize >= 40 && 14 + dibSize <= raw.length)
|
|
251
|
+
[width, height, planes, bitsPerPixel] = [raw.readInt32LE(18), raw.readInt32LE(22), raw.readUInt16LE(26), raw.readUInt16LE(28)];
|
|
252
|
+
else
|
|
253
|
+
return false;
|
|
254
|
+
return Boolean(width) && Boolean(height) && planes === 1 && [1, 2, 4, 8, 16, 24, 32].includes(bitsPerPixel) && 14 + dibSize <= pixelOffset && pixelOffset < raw.length;
|
|
255
|
+
}
|
|
256
|
+
const PNG_SIGNATURE = Buffer.from([0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a]);
|
|
257
|
+
const PNG_DEPTHS = { 0: [1, 2, 4, 8, 16], 2: [8, 16], 3: [1, 2, 4, 8], 4: [8, 16], 6: [8, 16] };
|
|
258
|
+
const JPEG_SOF_MARKERS = new Set([0xc0, 0xc1, 0xc2, 0xc3, 0xc5, 0xc6, 0xc7, 0xc9, 0xca, 0xcb, 0xcd, 0xce, 0xcf]);
|
|
259
|
+
const RASTER_PREFIXES = [
|
|
260
|
+
['data:image/png;base64,', isCompletePng],
|
|
261
|
+
['data:image/jpeg;base64,', isCompleteJpeg],
|
|
262
|
+
['data:image/jpg;base64,', isCompleteJpeg],
|
|
263
|
+
['data:image/gif;base64,', isCompleteGif],
|
|
264
|
+
['data:image/webp;base64,', isCompleteWebp],
|
|
265
|
+
['data:image/bmp;base64,', isCompleteBmp],
|
|
266
|
+
];
|
|
267
|
+
//# sourceMappingURL=raster-image.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"raster-image.js","sourceRoot":"","sources":["../src/raster-image.ts"],"names":[],"mappings":"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"}
|