@aeolus-fleet/gateway 0.34.0 → 0.35.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/dist/adapters/http/person-tools.js +5 -3
- package/dist/adapters/http/person-tools.js.map +1 -1
- package/dist/adapters/pagasae/email-channel.js +4 -3
- package/dist/adapters/pagasae/email-channel.js.map +1 -1
- package/dist/adapters/prisma/party-store.js +2 -1
- package/dist/adapters/prisma/party-store.js.map +1 -1
- package/dist/adapters/trpc/router.js +3 -5
- package/dist/adapters/trpc/router.js.map +1 -1
- package/dist/core/a2a-in/send-a2a-message.d.ts +0 -2
- package/dist/core/a2a-in/send-a2a-message.js +17 -4
- package/dist/core/a2a-in/send-a2a-message.js.map +1 -1
- package/dist/core/people/ports.d.ts +9 -2
- package/dist/core/people/wake-person.js +3 -1
- package/dist/core/people/wake-person.js.map +1 -1
- package/package.json +1 -1
- package/web/.next/BUILD_ID +1 -1
- package/web/.next/build-manifest.json +3 -3
- package/web/.next/diagnostics/route-bundle-stats.json +32 -32
- package/web/.next/fallback-build-manifest.json +3 -3
- package/web/.next/prerender-manifest.json +3 -3
- package/web/.next/server/app/(console)/gateway-off/page/server-reference-manifest.json +1 -1
- package/web/.next/server/app/(console)/gateway-off/page.js.nft.json +1 -1
- package/web/.next/server/app/(console)/gateway-off/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(console)/meetings/[meetingId]/page/server-reference-manifest.json +3 -3
- package/web/.next/server/app/(console)/meetings/[meetingId]/page.js.nft.json +1 -1
- package/web/.next/server/app/(console)/meetings/[meetingId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(console)/outside-parties/[name]/change/page/server-reference-manifest.json +18 -18
- package/web/.next/server/app/(console)/outside-parties/[name]/change/page.js.nft.json +1 -1
- package/web/.next/server/app/(console)/outside-parties/[name]/change/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(console)/outside-parties/[name]/page/server-reference-manifest.json +8 -8
- package/web/.next/server/app/(console)/outside-parties/[name]/page.js.nft.json +1 -1
- package/web/.next/server/app/(console)/outside-parties/[name]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(console)/outside-parties/[name]/retire/page/server-reference-manifest.json +18 -18
- package/web/.next/server/app/(console)/outside-parties/[name]/retire/page.js.nft.json +1 -1
- package/web/.next/server/app/(console)/outside-parties/[name]/retire/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(console)/outside-parties/add/page/server-reference-manifest.json +10 -10
- package/web/.next/server/app/(console)/outside-parties/add/page.js.nft.json +1 -1
- package/web/.next/server/app/(console)/outside-parties/add/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(console)/outside-parties/add-a2a-agent/page/server-reference-manifest.json +2 -2
- package/web/.next/server/app/(console)/outside-parties/add-a2a-agent/page.js.nft.json +1 -1
- package/web/.next/server/app/(console)/outside-parties/add-a2a-agent/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(console)/outside-parties/add-a2a-client/page/server-reference-manifest.json +2 -2
- package/web/.next/server/app/(console)/outside-parties/add-a2a-client/page.js.nft.json +1 -1
- package/web/.next/server/app/(console)/outside-parties/add-a2a-client/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(console)/outside-parties/page/server-reference-manifest.json +2 -2
- package/web/.next/server/app/(console)/outside-parties/page.js.nft.json +1 -1
- package/web/.next/server/app/(console)/outside-parties/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(console)/overview/page/server-reference-manifest.json +9 -9
- package/web/.next/server/app/(console)/overview/page.js.nft.json +1 -1
- package/web/.next/server/app/(console)/overview/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(console)/overview/requests/[requestId]/page/server-reference-manifest.json +2 -2
- package/web/.next/server/app/(console)/overview/requests/[requestId]/page.js.nft.json +1 -1
- package/web/.next/server/app/(console)/overview/requests/[requestId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(console)/parties/page/server-reference-manifest.json +9 -9
- package/web/.next/server/app/(console)/parties/page.js.nft.json +1 -1
- package/web/.next/server/app/(console)/parties/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(console)/sign-in/failed/page/server-reference-manifest.json +1 -1
- package/web/.next/server/app/(console)/sign-in/failed/page.js.nft.json +1 -1
- package/web/.next/server/app/(console)/sign-in/failed/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(console)/slack/disconnect/page/server-reference-manifest.json +10 -10
- package/web/.next/server/app/(console)/slack/disconnect/page.js.nft.json +1 -1
- package/web/.next/server/app/(console)/slack/disconnect/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(console)/slack/expose/page/server-reference-manifest.json +10 -10
- package/web/.next/server/app/(console)/slack/expose/page.js.nft.json +1 -1
- package/web/.next/server/app/(console)/slack/expose/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(console)/slack/page/server-reference-manifest.json +10 -10
- package/web/.next/server/app/(console)/slack/page.js.nft.json +1 -1
- package/web/.next/server/app/(console)/slack/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(console)/slack/remove/page/server-reference-manifest.json +10 -10
- package/web/.next/server/app/(console)/slack/remove/page.js.nft.json +1 -1
- package/web/.next/server/app/(console)/slack/remove/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/_global-error.html +1 -1
- package/web/.next/server/app/_global-error.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/web/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
- package/web/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/authorize/failed/page/server-reference-manifest.json +1 -1
- package/web/.next/server/app/authorize/failed/page.js.nft.json +1 -1
- package/web/.next/server/app/authorize/failed/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/authorize/pick/page/server-reference-manifest.json +1 -1
- package/web/.next/server/app/authorize/pick/page.js.nft.json +1 -1
- package/web/.next/server/app/authorize/pick/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/authorize/waiting/approval/page/server-reference-manifest.json +1 -1
- package/web/.next/server/app/authorize/waiting/approval/page.js.nft.json +1 -1
- package/web/.next/server/app/authorize/waiting/approval/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/icon.svg/route.js.nft.json +1 -1
- package/web/.next/server/app/icon.svg.body +1 -1
- package/web/.next/server/chunks/_0xw0b7avhvg75._.js +1 -1
- package/web/.next/server/chunks/_0xw0b7avhvg75._.js.map +1 -1
- package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_outside-parties_[name]_change_page_actions_04td11fxohsfm.js +1 -1
- package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_outside-parties_[name]_change_page_actions_04td11fxohsfm.js.map +1 -1
- package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_outside-parties_[name]_page_actions_0u-45itza1ls7.js +1 -1
- package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_outside-parties_[name]_page_actions_0u-45itza1ls7.js.map +1 -1
- package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_outside-parties_[name]_retire_page_actions_0s7ps6i0ts7v5.js +1 -1
- package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_outside-parties_[name]_retire_page_actions_0s7ps6i0ts7v5.js.map +1 -1
- package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_outside-parties_add-a2a-client_page_actions_0d_wgiu94c32e.js +1 -1
- package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_outside-parties_add-a2a-client_page_actions_0d_wgiu94c32e.js.map +1 -1
- package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_outside-parties_add_page_actions_0yfz_dfn-8uo7.js +1 -1
- package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_outside-parties_add_page_actions_0yfz_dfn-8uo7.js.map +1 -1
- package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_overview_requests_[requestId]_page_actions_0uki9j3mtuz9e.js +1 -1
- package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_overview_requests_[requestId]_page_actions_0uki9j3mtuz9e.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__001xx3sm5ur-e._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__001xx3sm5ur-e._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__03w-pkh4_8jv_._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__048-rfvdrnoze._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__07ba2bfe20c_p._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0a6a1yc_ac-qt._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0a8db18tyk__5._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0a8db18tyk__5._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0f732g7ojc5-a._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0fz0817_b9ljl._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0i_m5r9lyffk8._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0icm7kndx480o._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0k3g0p3t9t0c-._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0k3g0p3t9t0c-._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0k6a9o0872_0x._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0pj38h6qumggc._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__10s9e8g5x-ws8._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__10s9e8g5x-ws8._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__13yoncr_nx3jc._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__13yoncr_nx3jc._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__18-8taiduk1jn._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__18-8taiduk1jn._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1kynqd8xcwg2b._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1nxy_j9eswr3i._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1q14l5_4hp9h3._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1qnls-4cj-7oh._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1qpow96uit9t8._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1qpow96uit9t8._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1r1t1q3fzoqey._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1xmvo3lr1_qyo._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1zlq3zji9v53h._.js +1 -1
- package/web/.next/server/chunks/ssr/_00hfzlqn1og18._.js +1 -1
- package/web/.next/server/chunks/ssr/_00hfzlqn1og18._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_0ka_9elusb800._.js +1 -1
- package/web/.next/server/chunks/ssr/_0ka_9elusb800._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_0pyd1_y7w8ngp._.js +1 -1
- package/web/.next/server/chunks/ssr/_0pyd1_y7w8ngp._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_0xickgbbju_9-._.js +1 -1
- package/web/.next/server/chunks/ssr/_0xickgbbju_9-._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_1_wav28san6dm._.js +1 -1
- package/web/.next/server/chunks/ssr/_1e2o809f0ekry._.js +1 -1
- package/web/.next/server/chunks/ssr/{_0eu-76mbv16oa._.js → _1oy13966tft2_._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_0eu-76mbv16oa._.js.map → _1oy13966tft2_._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/{_1cnvrfjlqx00k._.js → _1pf8x2exvfl1z._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_1cnvrfjlqx00k._.js.map → _1pf8x2exvfl1z._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/_1pjtire7rqla0._.js +1 -1
- package/web/.next/server/chunks/ssr/_1pjtire7rqla0._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_1qbsmlji34yph._.js +1 -1
- package/web/.next/server/chunks/ssr/_1qbsmlji34yph._.js.map +1 -1
- package/web/.next/server/chunks/ssr/web_0wys4l6za8umr._.js +1 -1
- package/web/.next/server/chunks/ssr/web_0wys4l6za8umr._.js.map +1 -1
- package/web/.next/server/chunks/ssr/web__next-internal_server_app_(console)_overview_page_actions_18on1ziyg1nzy.js +1 -1
- package/web/.next/server/chunks/ssr/web__next-internal_server_app_(console)_overview_page_actions_18on1ziyg1nzy.js.map +1 -1
- package/web/.next/server/chunks/ssr/web_features_add-a2a-agent_ui_a2a-agent-form_tsx_0z8t1aalwzyl7._.js +1 -1
- package/web/.next/server/chunks/ssr/web_features_add-a2a-agent_ui_a2a-agent-form_tsx_0z8t1aalwzyl7._.js.map +1 -1
- package/web/.next/server/chunks/ssr/web_features_add-a2a-client_ui_a2a-client-form_tsx_1anv88g385nwe._.js +1 -1
- package/web/.next/server/chunks/ssr/web_features_add-a2a-client_ui_a2a-client-form_tsx_1anv88g385nwe._.js.map +1 -1
- package/web/.next/server/chunks/ssr/web_features_add-server_ui_add-server_tsx_1jnmar5xju49k._.js +1 -1
- package/web/.next/server/chunks/ssr/web_features_add-server_ui_add-server_tsx_1jnmar5xju49k._.js.map +1 -1
- package/web/.next/server/chunks/ssr/web_features_frame_ui_gateway-header_tsx_0e9tekx4jf7ng._.js +1 -1
- package/web/.next/server/chunks/ssr/web_features_frame_ui_gateway-header_tsx_0e9tekx4jf7ng._.js.map +1 -1
- package/web/.next/server/chunks/ssr/web_features_meeting_state_meeting-controls_tsx_12g4kzk2mbvvz._.js +1 -1
- package/web/.next/server/chunks/ssr/web_features_meeting_state_meeting-controls_tsx_12g4kzk2mbvvz._.js.map +1 -1
- package/web/.next/server/chunks/ssr/web_features_outside-parties_ui_switch-card_tsx_1_xnu9bm4tc-_._.js +1 -1
- package/web/.next/server/chunks/ssr/web_features_outside-parties_ui_switch-card_tsx_1_xnu9bm4tc-_._.js.map +1 -1
- package/web/.next/server/chunks/ssr/web_features_outside-party_actions_ts_102ar5pdowf8s._.js +1 -1
- package/web/.next/server/chunks/ssr/web_features_overview_hooks_overview-actions_ts_0-wrat07d1y5g._.js +1 -1
- package/web/.next/server/chunks/ssr/web_features_overview_state_00l0wkgvv9y6j._.js +1 -1
- package/web/.next/server/chunks/ssr/web_features_overview_state_00l0wkgvv9y6j._.js.map +1 -1
- package/web/.next/server/chunks/ssr/web_features_overview_state_decision-panel_tsx_0kpd26ggtr6h_._.js +1 -1
- package/web/.next/server/chunks/ssr/web_features_overview_state_decision-panel_tsx_0kpd26ggtr6h_._.js.map +1 -1
- package/web/.next/server/chunks/ssr/web_features_parties_actions_ts_0r-tbfsig2ty-._.js +1 -1
- package/web/.next/server/chunks/ssr/web_features_slack_actions_ts_1l3yg9vl20_vu._.js +1 -1
- package/web/.next/server/middleware-build-manifest.js +3 -3
- package/web/.next/server/pages/500.html +1 -1
- package/web/.next/server/preview-props.json +3 -3
- package/web/.next/server/server-reference-manifest.js +1 -1
- package/web/.next/server/server-reference-manifest.json +46 -46
- package/web/.next/static/chunks/{0psup8zn8e6k5.js → 03239gtej3tj0.js} +1 -1
- package/web/.next/static/chunks/0tmvd_zw45u96.js +1 -0
- package/web/.next/static/chunks/{20t1nmdiq805b.js → 1se0j0htjyep6.js} +1 -1
- package/web/.next/static/chunks/{31-hltzmw_9fi.js → 287ofedoj_6xl.js} +1 -1
- package/web/.next/static/chunks/{015ume9uk4hla.js → 2_e-puldye2do.js} +1 -1
- package/web/.next/static/chunks/{35bmc8wm29tr6.js → 34kulpk3a-cka.js} +1 -1
- package/web/.next/static/chunks/{0ji7rkz0ll9gh.js → 3ceatffqhpgpu.js} +1 -1
- package/web/.next/static/chunks/{2s_dov6h7kus5.js → 3fd167c0-ot3u.js} +1 -1
- package/web/.next/static/chunks/{42cpzi5s1o44m.js → 3l5jtag3-fukc.js} +1 -1
- package/web/.next/static/media/{icon.0h5hy2etdmq_n.svg → icon.1o2ogor9e8-fc.svg} +1 -1
- package/web/.next/trace +1 -1
- package/web/.next/trace-build +1 -1
- package/web/.next/static/chunks/1s8b8jpg4jai9.js +0 -1
- /package/web/.next/static/{yf1Q3fTAV4eQiroxoYbih → R_nPUtDcDp1BPV3QHhaMZ}/_buildManifest.js +0 -0
- /package/web/.next/static/{yf1Q3fTAV4eQiroxoYbih → R_nPUtDcDp1BPV3QHhaMZ}/_clientMiddlewareManifest.js +0 -0
- /package/web/.next/static/{yf1Q3fTAV4eQiroxoYbih → R_nPUtDcDp1BPV3QHhaMZ}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../web/features/overview/state/decision-panel.tsx","../../../../../web/features/overview/hooks/data%3A22d793%20%3Ctext/javascript%3E","../../../../../web/features/overview/ui/decision-form.tsx","../../../../../web/features/overview/services/requests.ts"],"sourcesContent":["'use client';\n\nimport { useRouter } from 'next/navigation';\nimport { useState, useTransition } from 'react';\n\nimport type { OwnerChoices } from '../../forms/ui/owner-field';\nimport { decideRequest } from '../hooks/overview-actions';\nimport type { DecisionInput, ShownRequest } from '../services/requests';\nimport { DecisionForm } from '../ui/decision-form';\n\n/** Decides one request as the signed-in approver, then goes back to the Overview, which says nothing more waits here. */\nexport function DecisionPanel({ fleetId, request, heldScopes, owners }: { fleetId: string; request: ShownRequest; heldScopes: readonly string[]; owners: OwnerChoices }) {\n const router = useRouter();\n const [working, setWorking] = useState<DecisionInput['kind'] | undefined>();\n const [failure, setFailure] = useState<string | undefined>();\n const [, startTransition] = useTransition();\n const decide = (decision: DecisionInput) => {\n setWorking(decision.kind);\n setFailure(undefined);\n startTransition(async () => {\n const outcome = await decideRequest({ fleet: fleetId, requestId: request.requestId, input: decision });\n if (outcome.isOk) {\n router.push(`/overview?${new URLSearchParams({ fleet: fleetId, decided: decision.kind }).toString()}`);\n return;\n }\n setWorking(undefined);\n setFailure(outcome.message);\n });\n };\n return <DecisionForm request={request} heldScopes={heldScopes} owners={owners} working={working} failure={failure} onDecide={decide} />;\n}\n","/* __next_internal_action_entry_do_not_use__ [{\"402decc5318dd2cf7bed966b0f203e2b1dd0d01321\":{\"name\":\"decideRequest\"}},\"web/features/overview/hooks/overview-actions.ts\",\"\"] */\"use turbopack: no side effects\";import{createServerReference,callServer,findSourceMapURL}from\"private-next-rsc-action-client-wrapper\";const $$RSC_SERVER_ACTION_8=/*#__PURE__*/createServerReference(\"402decc5318dd2cf7bed966b0f203e2b1dd0d01321\",callServer,void 0,findSourceMapURL,\"decideRequest\");export{$$RSC_SERVER_ACTION_8 as decideRequest};","'use client';\n\nimport { useState, type SyntheticEvent } from 'react';\n\nimport { CREDENTIAL_KINDS, credentialKindOf } from '../../forms/server-credential';\nimport { OwnerField, type OwnerChoices } from '../../forms/ui/owner-field';\nimport { EVERY_APP_SHIP_SCOPES, scopeLabel, subjectName, suggestedName, type DecisionInput, type ServerCredentialInput, type ShownRequest } from '../services/requests';\nimport { ActionButton } from './action-button';\nimport { Notice } from './notice';\n\nconst CONCURRENCY_LIMIT_DEFAULT = 4;\n\nconst FIELD = 'rounded-md border border-input bg-background px-2 py-1.5';\n\nfunction ScopeRow({ scope, isLocked }: { scope: string; isLocked: boolean }) {\n return (\n <label className=\"flex items-center gap-2\">\n {isLocked ? <input type=\"checkbox\" checked disabled aria-label={scopeLabel(scope)} /> : <input type=\"checkbox\" name=\"scope\" value={scope} aria-label={scopeLabel(scope)} />}\n <span>{scopeLabel(scope)}</span>\n <span className=\"font-mono text-caption text-muted-foreground\">{scope}</span>\n {isLocked ? <span className=\"text-caption text-muted-foreground\">(always)</span> : null}\n </label>\n );\n}\n\nfunction text(form: FormData, name: string): string {\n const value = form.get(name);\n return typeof value === 'string' ? value : '';\n}\n\nfunction serverOf(form: FormData): ServerCredentialInput {\n return {\n credentialKind: credentialKindOf(text(form, 'credentialKind')),\n token: text(form, 'token'),\n clientId: text(form, 'clientId'),\n clientSecret: text(form, 'clientSecret'),\n issuer: text(form, 'issuer'),\n scope: text(form, 'scope-requested'),\n concurrencyLimit: Number(text(form, 'concurrencyLimit')),\n };\n}\n\n/**\n * The decision on a request: approving names the proxy ship and its owner,\n * and offers as scope rows only the scopes the approver holds, messages:send\n * and messages:receive locked on (0046, 0053); a server's credential too.\n * What was typed stays when the API refuses.\n */\nexport function DecisionForm({\n request,\n heldScopes,\n owners,\n working,\n failure,\n onDecide,\n}: {\n request: ShownRequest;\n heldScopes: readonly string[];\n owners: OwnerChoices;\n working: DecisionInput['kind'] | undefined;\n failure: string | undefined;\n onDecide: (decision: DecisionInput) => void;\n}) {\n const [credentialKind, setCredentialKind] = useState<ServerCredentialInput['credentialKind']>('bearer');\n const name = subjectName(request);\n const isServer = request.subject.kind === 'server';\n const approve = (event: SyntheticEvent<HTMLFormElement>) => {\n event.preventDefault();\n const form = new FormData(event.currentTarget);\n const scopes = form.getAll('scope').filter((scope) => typeof scope === 'string');\n onDecide({ kind: 'approve', name: text(form, 'name'), ownerShipId: text(form, 'ownerShipId'), scopes, server: isServer ? serverOf(form) : undefined });\n };\n return (\n <section className=\"grid gap-3 rounded-lg border border-border bg-card p-6 text-card-foreground shadow-sm\">\n <h2 className=\"text-heading font-semibold\">Approve {name}</h2>\n <form onSubmit={approve} className=\"grid gap-3\">\n <label className=\"grid gap-1\">\n <span>Proxy ship's name</span>\n <input name=\"name\" defaultValue={suggestedName(name)} required className={FIELD} />\n </label>\n <OwnerField choices={owners.isOk ? owners.value : []} current={null} help=\"A person ship or argo. It answers for this party.\" refusal={owners.isOk ? undefined : owners.refusal} />\n <fieldset className=\"grid gap-1\">\n <legend>Scopes</legend>\n {EVERY_APP_SHIP_SCOPES.map((scope) => (\n <ScopeRow key={scope} scope={scope} isLocked />\n ))}\n {heldScopes\n .filter((scope) => !EVERY_APP_SHIP_SCOPES.includes(scope))\n .map((scope) => (\n <ScopeRow key={scope} scope={scope} isLocked={false} />\n ))}\n </fieldset>\n {isServer ? (\n <fieldset className=\"grid gap-2\">\n <legend>The server's credential</legend>\n <label className=\"grid gap-1\">\n <span>Credential</span>\n <select name=\"credentialKind\" value={credentialKind} onChange={(event) => { setCredentialKind(credentialKindOf(event.target.value)); }} className={FIELD}>\n {CREDENTIAL_KINDS.map(({ kind, label }) => (\n <option key={kind} value={kind}>\n {label}\n </option>\n ))}\n </select>\n </label>\n {credentialKind === 'none' ? null : credentialKind === 'bearer' ? (\n <label className=\"grid gap-1\">\n <span>Bearer token</span>\n <input type=\"password\" name=\"token\" className={FIELD} />\n </label>\n ) : (\n <>\n <label className=\"grid gap-1\">\n <span>Client id</span>\n <input name=\"clientId\" className={FIELD} />\n </label>\n <label className=\"grid gap-1\">\n <span>Client secret</span>\n <input type=\"password\" name=\"clientSecret\" className={FIELD} />\n </label>\n <label className=\"grid gap-1\">\n <span>Issuer</span>\n <input type=\"url\" name=\"issuer\" className={FIELD} />\n </label>\n <label className=\"grid gap-1\">\n <span>Scope</span>\n <input name=\"scope-requested\" className={FIELD} />\n </label>\n </>\n )}\n <label className=\"grid gap-1\">\n <span>Calls at once</span>\n <input type=\"number\" name=\"concurrencyLimit\" min={1} max={10} defaultValue={CONCURRENCY_LIMIT_DEFAULT} className={FIELD} />\n </label>\n </fieldset>\n ) : null}\n {failure === undefined ? null : <Notice message={failure} isFailure />}\n <div className=\"flex gap-2\">\n <ActionButton type=\"submit\" variant=\"primary\" data-testid=\"overview-approve\" isPending={working === 'approve'} pendingLabel=\"Approving...\" disabled={working !== undefined}>\n Approve\n </ActionButton>\n <ActionButton type=\"button\" data-testid=\"overview-deny\" isPending={working === 'deny'} pendingLabel=\"Denying...\" disabled={working !== undefined} onClick={() => { onDecide({ kind: 'deny' }); }}>\n Deny\n </ActionButton>\n </div>\n </form>\n </section>\n );\n}\n","/**\n * How the Overview names and states a request for an outside party (design\n * B, Signal): pure view logic, no React and no API client.\n */\nimport type { inferRouterOutputs } from '@trpc/server';\n\nimport type { GatewayRouter } from '../../../../src/adapters/trpc/router.js';\nimport type { CredentialKind } from '../../forms/server-credential';\n\n/** A request as the API shows it. */\nexport type ShownRequest = inferRouterOutputs<GatewayRouter>['requests']['toDecide'][number];\n\n/** The tones a status shows, from the design tokens; a status always has its words too. */\nexport type Tone = 'waiting' | 'active' | 'ok' | 'attention' | 'ended';\n\nexport interface Status {\n readonly tone: Tone;\n readonly label: string;\n}\n\nconst DAY_MS = 86_400_000;\n\n/** How an outside party is named before it has a proxy ship: a client by its name, a server by its host. */\nexport function subjectName(request: ShownRequest): string {\n switch (request.subject.kind) {\n case 'client':\n return request.subject.clientName;\n case 'server':\n return URL.canParse(request.subject.url) ? new URL(request.subject.url).host : request.subject.url;\n }\n}\n\nexport function subjectKind(request: ShownRequest): string {\n switch (request.subject.kind) {\n case 'client':\n return 'MCP client';\n case 'server':\n return 'MCP server';\n }\n}\n\n/** Days left of the 7 a request is kept, counted up, so its last day reads as such, in the attention tone. */\nexport function daysLeft(request: ShownRequest, now: Date): Status {\n const days = Math.ceil((Date.parse(request.expiresAt) - now.getTime()) / DAY_MS);\n return days <= 1 ? { tone: 'attention', label: 'Last day' } : { tone: 'waiting', label: `${String(days)} d left` };\n}\n\n/** A request's state as the console shows a status; one still pending shows its days left. */\nexport function requestStatus(request: ShownRequest, now: Date): Status {\n switch (request.state) {\n case 'pending':\n return daysLeft(request, now);\n case 'approving':\n return { tone: 'active', label: 'Approving' };\n case 'approved':\n return { tone: 'ok', label: 'Approved' };\n case 'denied':\n return { tone: 'ended', label: 'Denied' };\n case 'expired':\n return { tone: 'ended', label: 'Expired' };\n }\n}\n\n/** A proxy ship's name offered from the party's own: lower case letters, digits and dashes. */\nexport function suggestedName(name: string): string {\n return name\n .toLowerCase()\n .replaceAll(/[^a-z0-9]+/g, '-')\n .replaceAll(/^-+|-+$/g, '');\n}\n\n/** The scopes every app ship gets (0046): shown locked on, and always sent. */\nexport const EVERY_APP_SHIP_SCOPES: readonly string[] = ['messages:send', 'messages:receive'];\n\nconst SCOPE_LABELS: Record<string, string> = {\n 'messages:send': 'Send',\n 'messages:receive': 'Receive',\n 'fleet:read': 'Read the fleet',\n};\n\n/** A scope's plain label, shown beside the scope itself. */\nexport function scopeLabel(scope: string): string {\n return SCOPE_LABELS[scope] ?? scope;\n}\n\n/** The server's credential as the decision form takes it. */\nexport interface ServerCredentialInput {\n readonly credentialKind: CredentialKind;\n readonly token: string;\n readonly clientId: string;\n readonly clientSecret: string;\n readonly issuer: string;\n readonly scope: string;\n readonly concurrencyLimit: number;\n}\n\nexport type DecisionInput = { readonly kind: 'deny' } | { readonly kind: 'approve'; readonly name: string; readonly ownerShipId: string; readonly scopes: readonly string[]; readonly server: ServerCredentialInput | undefined };\n"],"names":["$$RSC_SERVER_ACTION_8"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../../../web/features/overview/state/decision-panel.tsx","../../../../../web/features/overview/hooks/data%3A445fe1%20%3Ctext/javascript%3E","../../../../../web/features/overview/ui/decision-form.tsx","../../../../../web/features/overview/services/requests.ts"],"sourcesContent":["'use client';\n\nimport { useRouter } from 'next/navigation';\nimport { useState, useTransition } from 'react';\n\nimport type { OwnerChoices } from '../../forms/ui/owner-field';\nimport { decideRequest } from '../hooks/overview-actions';\nimport type { DecisionInput, ShownRequest } from '../services/requests';\nimport { DecisionForm } from '../ui/decision-form';\n\n/** Decides one request as the signed-in approver, then goes back to the Overview, which says nothing more waits here. */\nexport function DecisionPanel({ fleetId, request, heldScopes, owners }: { fleetId: string; request: ShownRequest; heldScopes: readonly string[]; owners: OwnerChoices }) {\n const router = useRouter();\n const [working, setWorking] = useState<DecisionInput['kind'] | undefined>();\n const [failure, setFailure] = useState<string | undefined>();\n const [, startTransition] = useTransition();\n const decide = (decision: DecisionInput) => {\n setWorking(decision.kind);\n setFailure(undefined);\n startTransition(async () => {\n const outcome = await decideRequest({ fleet: fleetId, requestId: request.requestId, input: decision });\n if (outcome.isOk) {\n router.push(`/overview?${new URLSearchParams({ fleet: fleetId, decided: decision.kind }).toString()}`);\n return;\n }\n setWorking(undefined);\n setFailure(outcome.message);\n });\n };\n return <DecisionForm request={request} heldScopes={heldScopes} owners={owners} working={working} failure={failure} onDecide={decide} />;\n}\n","/* __next_internal_action_entry_do_not_use__ [{\"408819c99996290b362a2ea4e8b39d342b6bf79c81\":{\"name\":\"decideRequest\"}},\"web/features/overview/hooks/overview-actions.ts\",\"\"] */\"use turbopack: no side effects\";import{createServerReference,callServer,findSourceMapURL}from\"private-next-rsc-action-client-wrapper\";const $$RSC_SERVER_ACTION_8=/*#__PURE__*/createServerReference(\"408819c99996290b362a2ea4e8b39d342b6bf79c81\",callServer,void 0,findSourceMapURL,\"decideRequest\");export{$$RSC_SERVER_ACTION_8 as decideRequest};","'use client';\n\nimport { useState, type SyntheticEvent } from 'react';\n\nimport { CREDENTIAL_KINDS, credentialKindOf } from '../../forms/server-credential';\nimport { OwnerField, type OwnerChoices } from '../../forms/ui/owner-field';\nimport { EVERY_APP_SHIP_SCOPES, scopeLabel, subjectName, suggestedName, type DecisionInput, type ServerCredentialInput, type ShownRequest } from '../services/requests';\nimport { ActionButton } from './action-button';\nimport { Notice } from './notice';\n\nconst CONCURRENCY_LIMIT_DEFAULT = 4;\n\nconst FIELD = 'rounded-md border border-input bg-background px-2 py-1.5';\n\nfunction ScopeRow({ scope, isLocked }: { scope: string; isLocked: boolean }) {\n return (\n <label className=\"flex items-center gap-2\">\n {isLocked ? <input type=\"checkbox\" checked disabled aria-label={scopeLabel(scope)} /> : <input type=\"checkbox\" name=\"scope\" value={scope} aria-label={scopeLabel(scope)} />}\n <span>{scopeLabel(scope)}</span>\n <span className=\"font-mono text-caption text-muted-foreground\">{scope}</span>\n {isLocked ? <span className=\"text-caption text-muted-foreground\">(always)</span> : null}\n </label>\n );\n}\n\nfunction text(form: FormData, name: string): string {\n const value = form.get(name);\n return typeof value === 'string' ? value : '';\n}\n\nfunction serverOf(form: FormData): ServerCredentialInput {\n return {\n credentialKind: credentialKindOf(text(form, 'credentialKind')),\n token: text(form, 'token'),\n clientId: text(form, 'clientId'),\n clientSecret: text(form, 'clientSecret'),\n issuer: text(form, 'issuer'),\n scope: text(form, 'scope-requested'),\n concurrencyLimit: Number(text(form, 'concurrencyLimit')),\n };\n}\n\n/**\n * The decision on a request: approving names the proxy ship and its owner,\n * and offers as scope rows only the scopes the approver holds, messages:send\n * and messages:receive locked on (0046, 0053); a server's credential too.\n * What was typed stays when the API refuses.\n */\nexport function DecisionForm({\n request,\n heldScopes,\n owners,\n working,\n failure,\n onDecide,\n}: {\n request: ShownRequest;\n heldScopes: readonly string[];\n owners: OwnerChoices;\n working: DecisionInput['kind'] | undefined;\n failure: string | undefined;\n onDecide: (decision: DecisionInput) => void;\n}) {\n const [credentialKind, setCredentialKind] = useState<ServerCredentialInput['credentialKind']>('bearer');\n const name = subjectName(request);\n const isServer = request.subject.kind === 'server';\n const approve = (event: SyntheticEvent<HTMLFormElement>) => {\n event.preventDefault();\n const form = new FormData(event.currentTarget);\n const scopes = form.getAll('scope').filter((scope) => typeof scope === 'string');\n onDecide({ kind: 'approve', name: text(form, 'name'), ownerShipId: text(form, 'ownerShipId'), scopes, server: isServer ? serverOf(form) : undefined });\n };\n return (\n <section className=\"grid gap-3 rounded-lg border border-border bg-card p-6 text-card-foreground shadow-sm\">\n <h2 className=\"text-heading font-semibold\">Approve {name}</h2>\n <form onSubmit={approve} className=\"grid gap-3\">\n <label className=\"grid gap-1\">\n <span>Proxy ship's name</span>\n <input name=\"name\" defaultValue={suggestedName(name)} required className={FIELD} />\n </label>\n <OwnerField choices={owners.isOk ? owners.value : []} current={null} help=\"A person ship or argo. It answers for this party.\" refusal={owners.isOk ? undefined : owners.refusal} />\n <fieldset className=\"grid gap-1\">\n <legend>Scopes</legend>\n {EVERY_APP_SHIP_SCOPES.map((scope) => (\n <ScopeRow key={scope} scope={scope} isLocked />\n ))}\n {heldScopes\n .filter((scope) => !EVERY_APP_SHIP_SCOPES.includes(scope))\n .map((scope) => (\n <ScopeRow key={scope} scope={scope} isLocked={false} />\n ))}\n </fieldset>\n {isServer ? (\n <fieldset className=\"grid gap-2\">\n <legend>The server's credential</legend>\n <label className=\"grid gap-1\">\n <span>Credential</span>\n <select name=\"credentialKind\" value={credentialKind} onChange={(event) => { setCredentialKind(credentialKindOf(event.target.value)); }} className={FIELD}>\n {CREDENTIAL_KINDS.map(({ kind, label }) => (\n <option key={kind} value={kind}>\n {label}\n </option>\n ))}\n </select>\n </label>\n {credentialKind === 'none' ? null : credentialKind === 'bearer' ? (\n <label className=\"grid gap-1\">\n <span>Bearer token</span>\n <input type=\"password\" name=\"token\" className={FIELD} />\n </label>\n ) : (\n <>\n <label className=\"grid gap-1\">\n <span>Client id</span>\n <input name=\"clientId\" className={FIELD} />\n </label>\n <label className=\"grid gap-1\">\n <span>Client secret</span>\n <input type=\"password\" name=\"clientSecret\" className={FIELD} />\n </label>\n <label className=\"grid gap-1\">\n <span>Issuer</span>\n <input type=\"url\" name=\"issuer\" className={FIELD} />\n </label>\n <label className=\"grid gap-1\">\n <span>Scope</span>\n <input name=\"scope-requested\" className={FIELD} />\n </label>\n </>\n )}\n <label className=\"grid gap-1\">\n <span>Calls at once</span>\n <input type=\"number\" name=\"concurrencyLimit\" min={1} max={10} defaultValue={CONCURRENCY_LIMIT_DEFAULT} className={FIELD} />\n </label>\n </fieldset>\n ) : null}\n {failure === undefined ? null : <Notice message={failure} isFailure />}\n <div className=\"flex gap-2\">\n <ActionButton type=\"submit\" variant=\"primary\" data-testid=\"overview-approve\" isPending={working === 'approve'} pendingLabel=\"Approving...\" disabled={working !== undefined}>\n Approve\n </ActionButton>\n <ActionButton type=\"button\" data-testid=\"overview-deny\" isPending={working === 'deny'} pendingLabel=\"Denying...\" disabled={working !== undefined} onClick={() => { onDecide({ kind: 'deny' }); }}>\n Deny\n </ActionButton>\n </div>\n </form>\n </section>\n );\n}\n","/**\n * How the Overview names and states a request for an outside party (design\n * B, Signal): pure view logic, no React and no API client.\n */\nimport type { inferRouterOutputs } from '@trpc/server';\n\nimport type { GatewayRouter } from '../../../../src/adapters/trpc/router.js';\nimport type { CredentialKind } from '../../forms/server-credential';\n\n/** A request as the API shows it. */\nexport type ShownRequest = inferRouterOutputs<GatewayRouter>['requests']['toDecide'][number];\n\n/** The tones a status shows, from the design tokens; a status always has its words too. */\nexport type Tone = 'waiting' | 'active' | 'ok' | 'attention' | 'ended';\n\nexport interface Status {\n readonly tone: Tone;\n readonly label: string;\n}\n\nconst DAY_MS = 86_400_000;\n\n/** How an outside party is named before it has a proxy ship: a client by its name, a server by its host. */\nexport function subjectName(request: ShownRequest): string {\n switch (request.subject.kind) {\n case 'client':\n return request.subject.clientName;\n case 'server':\n return URL.canParse(request.subject.url) ? new URL(request.subject.url).host : request.subject.url;\n }\n}\n\nexport function subjectKind(request: ShownRequest): string {\n switch (request.subject.kind) {\n case 'client':\n return 'MCP client';\n case 'server':\n return 'MCP server';\n }\n}\n\n/** Days left of the 7 a request is kept, counted up, so its last day reads as such, in the attention tone. */\nexport function daysLeft(request: ShownRequest, now: Date): Status {\n const days = Math.ceil((Date.parse(request.expiresAt) - now.getTime()) / DAY_MS);\n return days <= 1 ? { tone: 'attention', label: 'Last day' } : { tone: 'waiting', label: `${String(days)} d left` };\n}\n\n/** A request's state as the console shows a status; one still pending shows its days left. */\nexport function requestStatus(request: ShownRequest, now: Date): Status {\n switch (request.state) {\n case 'pending':\n return daysLeft(request, now);\n case 'approving':\n return { tone: 'active', label: 'Approving' };\n case 'approved':\n return { tone: 'ok', label: 'Approved' };\n case 'denied':\n return { tone: 'ended', label: 'Denied' };\n case 'expired':\n return { tone: 'ended', label: 'Expired' };\n }\n}\n\n/** A proxy ship's name offered from the party's own: lower case letters, digits and dashes. */\nexport function suggestedName(name: string): string {\n return name\n .toLowerCase()\n .replaceAll(/[^a-z0-9]+/g, '-')\n .replaceAll(/^-+|-+$/g, '');\n}\n\n/** The scopes every app ship gets (0046): shown locked on, and always sent. */\nexport const EVERY_APP_SHIP_SCOPES: readonly string[] = ['messages:send', 'messages:receive'];\n\nconst SCOPE_LABELS: Record<string, string> = {\n 'messages:send': 'Send',\n 'messages:receive': 'Receive',\n 'fleet:read': 'Read the fleet',\n};\n\n/** A scope's plain label, shown beside the scope itself. */\nexport function scopeLabel(scope: string): string {\n return SCOPE_LABELS[scope] ?? scope;\n}\n\n/** The server's credential as the decision form takes it. */\nexport interface ServerCredentialInput {\n readonly credentialKind: CredentialKind;\n readonly token: string;\n readonly clientId: string;\n readonly clientSecret: string;\n readonly issuer: string;\n readonly scope: string;\n readonly concurrencyLimit: number;\n}\n\nexport type DecisionInput = { readonly kind: 'deny' } | { readonly kind: 'approve'; readonly name: string; readonly ownerShipId: string; readonly scopes: readonly string[]; readonly server: ServerCredentialInput | undefined };\n"],"names":["$$RSC_SERVER_ACTION_8"],"mappings":"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"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[5901,33621,a=>{"use strict";var b=a.i(37936),c=a.i(29517),d=a.i(18558),e=a.i(66283),f=a.i(1324),g=a.i(29493);let h="/parties";async function i(a,b){let c,g=await (0,e.z)((0,f.v)(a,f.H));try{c=await b(g)}catch(a){return{kind:"refused",message:(0,e.s)(a)}}return(0,d.revalidatePath)(h),{kind:"done",message:c}}async function j(a,b){let d=(0,c.f)("ship").safeParse((0,f.v)(b,"ownerShipId"));if(!d.success)return{kind:"refused",message:"The owner's ship id is not a ship id (shp_...)"};let e=(0,f.v)(b,"scope");return i(b,async a=>{let c=await a.parties.approve.mutate({requestId:(0,f.v)(b,"requestId"),name:(0,f.v)(b,"name"),url:(0,f.v)(b,"url"),credential:(0,g.y)({credentialKind:(0,f.v)(b,"credentialKind"),token:(0,f.v)(b,"token"),clientId:(0,f.v)(b,"clientId"),clientSecret:(0,f.v)(b,"clientSecret"),issuer:(0,f.v)(b,"issuer"),scope:e}),ownerShipId:d.data,concurrencyLimit:Number((0,f.v)(b,"concurrencyLimit"))});return`${c.name} is approved`})}async function k(a,b){return i(b,async a=>{let c=await a.parties.crew.mutate({name:(0,f.v)(b,"name"),secret:(0,f.v)(b,"secret")});return`${c.name} is crewed`})}async function l(a,b){let c=(0,f.v)(b,"name");return i(b,async a=>(await a.parties.state.mutate({name:c}),`${c}'s tools are stated`))}async function m(a,b){let c=(0,f.v)(b,"tool");return i(b,async a=>(await a.parties.markTool.mutate({name:(0,f.v)(b,"name"),tool:c,isRepeatable:"on"===(0,f.v)(b,"isRepeatable")}),`${c} is marked`))}a.s(["f",0,h],33621),(0,a.i(13095).ensureServerEntryExports)([j,k,l,m]),(0,b.registerServerReference)(j,"
|
|
1
|
+
module.exports=[5901,33621,a=>{"use strict";var b=a.i(37936),c=a.i(29517),d=a.i(18558),e=a.i(66283),f=a.i(1324),g=a.i(29493);let h="/parties";async function i(a,b){let c,g=await (0,e.z)((0,f.v)(a,f.H));try{c=await b(g)}catch(a){return{kind:"refused",message:(0,e.s)(a)}}return(0,d.revalidatePath)(h),{kind:"done",message:c}}async function j(a,b){let d=(0,c.f)("ship").safeParse((0,f.v)(b,"ownerShipId"));if(!d.success)return{kind:"refused",message:"The owner's ship id is not a ship id (shp_...)"};let e=(0,f.v)(b,"scope");return i(b,async a=>{let c=await a.parties.approve.mutate({requestId:(0,f.v)(b,"requestId"),name:(0,f.v)(b,"name"),url:(0,f.v)(b,"url"),credential:(0,g.y)({credentialKind:(0,f.v)(b,"credentialKind"),token:(0,f.v)(b,"token"),clientId:(0,f.v)(b,"clientId"),clientSecret:(0,f.v)(b,"clientSecret"),issuer:(0,f.v)(b,"issuer"),scope:e}),ownerShipId:d.data,concurrencyLimit:Number((0,f.v)(b,"concurrencyLimit"))});return`${c.name} is approved`})}async function k(a,b){return i(b,async a=>{let c=await a.parties.crew.mutate({name:(0,f.v)(b,"name"),secret:(0,f.v)(b,"secret")});return`${c.name} is crewed`})}async function l(a,b){let c=(0,f.v)(b,"name");return i(b,async a=>(await a.parties.state.mutate({name:c}),`${c}'s tools are stated`))}async function m(a,b){let c=(0,f.v)(b,"tool");return i(b,async a=>(await a.parties.markTool.mutate({name:(0,f.v)(b,"name"),tool:c,isRepeatable:"on"===(0,f.v)(b,"isRepeatable")}),`${c} is marked`))}a.s(["f",0,h],33621),(0,a.i(13095).ensureServerEntryExports)([j,k,l,m]),(0,b.registerServerReference)(j,"608e2d3bc076c9fc1aeac506aefae08b559c54a822",null),(0,b.registerServerReference)(k,"609b2571e83693391c61fee7968637f7c1fa4fa80a",null),(0,b.registerServerReference)(l,"60a073d8c40cccf68b1f41bc9e38bc4ec4c2f85b12",null),(0,b.registerServerReference)(m,"60b09a7526f0f57443094aee7bf2410d5c6d21a2d0",null),a.s(["L",0,j,"P",0,k,"p",0,m,"g",0,l],5901)}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=web_features_parties_actions_ts_0r-tbfsig2ty-._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[434,76890,a=>{"use strict";var b=a.i(37936),c=a.i(29517),d=a.i(18558);a.i(70396);var e=a.i(73727),f=a.i(55476),g=a.i(66283),h=a.i(1324);let i="/slack",j=`${i}/disconnect`,k=`${i}/expose`;async function l(a,b){let c,e=await (0,g.z)((0,h.v)(b,h.H));try{({isGatewayBotMade:c}=await e.slack.connect.mutate({refreshToken:(0,h.v)(b,"refreshToken")}))}catch(a){return{kind:"refused",message:(0,g.s)(a)}}return(0,d.revalidatePath)(i),{kind:"done",message:c?"Slack is connected, and the gateway's bot is made: install it":"Slack is connected; Slack did not make the gateway's bot yet: press Install"}}async function m(a,b){let c,d=await (0,g.z)((0,h.v)(b,h.H)),f=(0,h.v)(b,"appId");try{({url:c}=await d.slack.install.mutate(""===f?{}:{appId:f}))}catch(a){return{kind:"refused",message:(0,g.s)(a)}}(0,e.redirect)(c)}async function n(a,b){let c=(0,h.v)(b,h.H),d=await (0,g.z)(c);try{await d.slack.disconnect.mutate()}catch(a){return{kind:"refused",message:(0,g.s)(a)}}(0,e.redirect)((0,f.i)(i,c))}async function o(a,b){let d=(0,h.v)(b,h.H),j=await (0,g.z)(d),k=(0,c.f)("ship").safeParse((0,h.v)(b,"shipId"));if(!k.success)return{kind:"refused",message:"Pick a ship to expose"};try{await j.slack.expose.mutate({shipId:k.data})}catch(a){return{kind:"refused",message:(0,g.s)(a)}}(0,e.redirect)((0,f.i)(i,d))}async function p(a,b){let c=(0,h.v)(b,h.H),d=await (0,g.z)(c);try{await d.slack.remove.mutate({appId:(0,h.v)(b,"appId")})}catch(a){return{kind:"refused",message:(0,g.s)(a)}}(0,e.redirect)((0,f.i)(i,c))}a.s(["Q",0,j,"K",0,k,"E",0,i,"b",0,function(a){return`${i}/remove?${new URLSearchParams({app:a}).toString()}`}],76890),(0,a.i(13095).ensureServerEntryExports)([l,m,n,o,p]),(0,b.registerServerReference)(l,"
|
|
1
|
+
module.exports=[434,76890,a=>{"use strict";var b=a.i(37936),c=a.i(29517),d=a.i(18558);a.i(70396);var e=a.i(73727),f=a.i(55476),g=a.i(66283),h=a.i(1324);let i="/slack",j=`${i}/disconnect`,k=`${i}/expose`;async function l(a,b){let c,e=await (0,g.z)((0,h.v)(b,h.H));try{({isGatewayBotMade:c}=await e.slack.connect.mutate({refreshToken:(0,h.v)(b,"refreshToken")}))}catch(a){return{kind:"refused",message:(0,g.s)(a)}}return(0,d.revalidatePath)(i),{kind:"done",message:c?"Slack is connected, and the gateway's bot is made: install it":"Slack is connected; Slack did not make the gateway's bot yet: press Install"}}async function m(a,b){let c,d=await (0,g.z)((0,h.v)(b,h.H)),f=(0,h.v)(b,"appId");try{({url:c}=await d.slack.install.mutate(""===f?{}:{appId:f}))}catch(a){return{kind:"refused",message:(0,g.s)(a)}}(0,e.redirect)(c)}async function n(a,b){let c=(0,h.v)(b,h.H),d=await (0,g.z)(c);try{await d.slack.disconnect.mutate()}catch(a){return{kind:"refused",message:(0,g.s)(a)}}(0,e.redirect)((0,f.i)(i,c))}async function o(a,b){let d=(0,h.v)(b,h.H),j=await (0,g.z)(d),k=(0,c.f)("ship").safeParse((0,h.v)(b,"shipId"));if(!k.success)return{kind:"refused",message:"Pick a ship to expose"};try{await j.slack.expose.mutate({shipId:k.data})}catch(a){return{kind:"refused",message:(0,g.s)(a)}}(0,e.redirect)((0,f.i)(i,d))}async function p(a,b){let c=(0,h.v)(b,h.H),d=await (0,g.z)(c);try{await d.slack.remove.mutate({appId:(0,h.v)(b,"appId")})}catch(a){return{kind:"refused",message:(0,g.s)(a)}}(0,e.redirect)((0,f.i)(i,c))}a.s(["Q",0,j,"K",0,k,"E",0,i,"b",0,function(a){return`${i}/remove?${new URLSearchParams({app:a}).toString()}`}],76890),(0,a.i(13095).ensureServerEntryExports)([l,m,n,o,p]),(0,b.registerServerReference)(l,"6061061471519c846108a0c41a7928281d9530dd52",null),(0,b.registerServerReference)(m,"6021d50446cc12f1dca06198d272f1586c0c8e69d4",null),(0,b.registerServerReference)(n,"60d72d0371155b302dc2db8fe7b6f8b43d0559d3b3",null),(0,b.registerServerReference)(o,"60ab08dc47412cb573034b0ee5efce1d294ab880ed",null),(0,b.registerServerReference)(p,"600d22e3e9babdae9f3c55c0e38a29cc19141157d3",null),a.s(["N",0,l,"c",0,n,"K",0,o,"M",0,m,"d",0,p],434)}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=web_features_slack_actions_ts_1l3yg9vl20_vu._.js.map
|
|
@@ -7,9 +7,9 @@ globalThis.__BUILD_MANIFEST = {
|
|
|
7
7
|
"static/chunks/0cz1d0mv5g_q7.js"
|
|
8
8
|
],
|
|
9
9
|
"lowPriorityFiles": [
|
|
10
|
-
"static/
|
|
11
|
-
"static/
|
|
12
|
-
"static/
|
|
10
|
+
"static/R_nPUtDcDp1BPV3QHhaMZ/_buildManifest.js",
|
|
11
|
+
"static/R_nPUtDcDp1BPV3QHhaMZ/_ssgManifest.js",
|
|
12
|
+
"static/R_nPUtDcDp1BPV3QHhaMZ/_clientMiddlewareManifest.js"
|
|
13
13
|
],
|
|
14
14
|
"rootMainFiles": [
|
|
15
15
|
"static/chunks/2hz8yws_wswjz.js",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html id="__next_error__"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/2hz8yws_wswjz.js"/><script src="/_next/static/chunks/3knqujtrdi225.js" async=""></script><script src="/_next/static/chunks/0lzisjsmhlhjf.js" async=""></script><script src="/_next/static/chunks/41rcj9-d-7p_4.js" async=""></script><script src="/_next/static/chunks/2ewacyhp73due.js" async=""></script><script src="/_next/static/chunks/turbopack-3-ry682tkyiqk.js" async=""></script><script src="/_next/static/chunks/0umf92h1sb77c.js" async=""></script><meta name="next-size-adjust" content=""/><title>500: This page couldn’t load</title><style>:root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }</style><script src="/_next/static/chunks/0cz1d0mv5g_q7.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";height:100vh;display:flex;align-items:center;justify-content:center"><div style="margin-top:-32px;max-width:325px;padding:32px 28px;text-align:left"><svg width="32" height="32" viewBox="-0.2 -1.5 32 32" fill="none" style="margin-bottom:24px"><path d="M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z" fill="var(--next-error-title)"></path></svg><h1 style="font-size:24px;font-weight:500;letter-spacing:-0.02em;line-height:32px;margin:0 0 12px 0;color:var(--next-error-title)">This page couldn’t load</h1><p style="font-size:14px;font-weight:400;line-height:21px;margin:0 0 20px 0;color:var(--next-error-message)">A server error occurred. Reload to try again.</p><form style="margin:0"><button type="submit" style="display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0 12px;font-size:14px;font-weight:500;line-height:20px;border-radius:6px;cursor:pointer;color:var(--next-error-btn-text);background:var(--next-error-btn-bg);border:var(--next-error-btn-border)">Reload</button></form></div></div><!--$--><!--/$--><script id="_R_">(globalThis["TURBOPACK"] || (globalThis["TURBOPACK"] = [])).push({"otherChunks":["static/chunks/2hz8yws_wswjz.js","static/chunks/3knqujtrdi225.js","static/chunks/0lzisjsmhlhjf.js","static/chunks/41rcj9-d-7p_4.js","static/chunks/2ewacyhp73due.js"],"runtimeModuleIds":[94553]});</script><script src="/_next/static/chunks/2hz8yws_wswjz.js" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:\"/_next/static/chunks/0umf92h1sb77c.js\"\n3:I[39756,[\"$2\"],\"default\"]\n4:I[37457,[\"$2\"],\"default\"]\n7:I[97367,[\"$2\"],\"OutletBoundary\"]\n8:\"$Sreact.suspense\"\na:\"ViewportBoundary\"\nb:I[97367,[\"$2\"],\"$a\"]\nd:\"MetadataBoundary\"\ne:I[97367,[\"$2\"],\"$d\"]\n10:I[68027,[\"$2\"],\"default\",1]\n5:X\n"])</script><script>self.__next_f.push([1,"6:[[\"children\",{\"s\":\"__PAGE__\",\"h\":528,\"d\":{\"r\":[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"html\",null,{\"id\":\"__next_error__\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"title\",null,{\"children\":\"500: This page couldn’t load\"}],[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\":root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }\"}}]]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"display\":\"flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"style\":{\"marginTop\":\"-32px\",\"maxWidth\":\"325px\",\"padding\":\"32px 28px\",\"textAlign\":\"left\"},\"children\":[[\"$\",\"svg\",null,{\"width\":\"32\",\"height\":\"32\",\"viewBox\":\"-0.2 -1.5 32 32\",\"fill\":\"none\",\"style\":{\"marginBottom\":\"24px\"},\"children\":[\"$\",\"path\",null,{\"d\":\"M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z\",\"fill\":\"var(--next-error-title)\"}]}],[\"$\",\"h1\",null,{\"style\":{\"fontSize\":\"24px\",\"fontWeight\":500,\"letterSpacing\":\"-0.02em\",\"lineHeight\":\"32px\",\"margin\":\"0 0 12px 0\",\"color\":\"var(--next-error-title)\"},\"children\":\"This page couldn’t load\"}],[\"$\",\"p\",null,{\"style\":{\"fontSize\":\"14px\",\"fontWeight\":400,\"lineHeight\":\"21px\",\"margin\":\"0 0 20px 0\",\"color\":\"var(--next-error-message)\"},\"children\":\"A server error occurred. Reload to try again.\"}],[\"$\",\"form\",null,{\"style\":{\"margin\":0},\"children\":[\"$\",\"button\",null,{\"type\":\"submit\",\"style\":{\"display\":\"inline-flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\",\"height\":\"32px\",\"padding\":\"0 12px\",\"fontSize\":\"14px\",\"fontWeight\":500,\"lineHeight\":\"20px\",\"borderRadius\":\"6px\",\"cursor\":\"pointer\",\"color\":\"var(--next-error-btn-text)\",\"background\":\"var(--next-error-btn-bg)\",\"border\":\"var(--next-error-btn-border)\"},\"children\":\"Reload\"}]}]]}]}]}]]}],null,[\"$\",\"$L7\",null,{\"children\":[\"$\",\"$8\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@9\"}]}]]}],\"p\":false,\"v\":null}}]]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"_global-error\"],\"q\":\"\",\"i\":false,\"t\":{\"t\":{\"s\":\"\",\"h\":528,\"d\":{\"r\":[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],\"p\":false,\"v\":\"$5\"},\"c\":\"$Q6\"},\"h\":{\"r\":[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$Lb\",null,{\"children\":\"$Lc\"}],[\"$\",\"$Le\",null,{\"children\":[[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$8\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lf\"}]}],null]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],\"p\":false,\"v\":null}},\"m\":\"$undefined\",\"G\":[\"$10\",[]],\"S\":true,\"r\":\"$undefined\",\"s\":\"$undefined\",\"a\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"
|
|
1
|
+
<!DOCTYPE html><html id="__next_error__"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/2hz8yws_wswjz.js"/><script src="/_next/static/chunks/3knqujtrdi225.js" async=""></script><script src="/_next/static/chunks/0lzisjsmhlhjf.js" async=""></script><script src="/_next/static/chunks/41rcj9-d-7p_4.js" async=""></script><script src="/_next/static/chunks/2ewacyhp73due.js" async=""></script><script src="/_next/static/chunks/turbopack-3-ry682tkyiqk.js" async=""></script><script src="/_next/static/chunks/0umf92h1sb77c.js" async=""></script><meta name="next-size-adjust" content=""/><title>500: This page couldn’t load</title><style>:root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }</style><script src="/_next/static/chunks/0cz1d0mv5g_q7.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";height:100vh;display:flex;align-items:center;justify-content:center"><div style="margin-top:-32px;max-width:325px;padding:32px 28px;text-align:left"><svg width="32" height="32" viewBox="-0.2 -1.5 32 32" fill="none" style="margin-bottom:24px"><path d="M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z" fill="var(--next-error-title)"></path></svg><h1 style="font-size:24px;font-weight:500;letter-spacing:-0.02em;line-height:32px;margin:0 0 12px 0;color:var(--next-error-title)">This page couldn’t load</h1><p style="font-size:14px;font-weight:400;line-height:21px;margin:0 0 20px 0;color:var(--next-error-message)">A server error occurred. Reload to try again.</p><form style="margin:0"><button type="submit" style="display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0 12px;font-size:14px;font-weight:500;line-height:20px;border-radius:6px;cursor:pointer;color:var(--next-error-btn-text);background:var(--next-error-btn-bg);border:var(--next-error-btn-border)">Reload</button></form></div></div><!--$--><!--/$--><script id="_R_">(globalThis["TURBOPACK"] || (globalThis["TURBOPACK"] = [])).push({"otherChunks":["static/chunks/2hz8yws_wswjz.js","static/chunks/3knqujtrdi225.js","static/chunks/0lzisjsmhlhjf.js","static/chunks/41rcj9-d-7p_4.js","static/chunks/2ewacyhp73due.js"],"runtimeModuleIds":[94553]});</script><script src="/_next/static/chunks/2hz8yws_wswjz.js" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:\"/_next/static/chunks/0umf92h1sb77c.js\"\n3:I[39756,[\"$2\"],\"default\"]\n4:I[37457,[\"$2\"],\"default\"]\n7:I[97367,[\"$2\"],\"OutletBoundary\"]\n8:\"$Sreact.suspense\"\na:\"ViewportBoundary\"\nb:I[97367,[\"$2\"],\"$a\"]\nd:\"MetadataBoundary\"\ne:I[97367,[\"$2\"],\"$d\"]\n10:I[68027,[\"$2\"],\"default\",1]\n5:X\n"])</script><script>self.__next_f.push([1,"6:[[\"children\",{\"s\":\"__PAGE__\",\"h\":528,\"d\":{\"r\":[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"html\",null,{\"id\":\"__next_error__\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"title\",null,{\"children\":\"500: This page couldn’t load\"}],[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\":root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }\"}}]]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"display\":\"flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"style\":{\"marginTop\":\"-32px\",\"maxWidth\":\"325px\",\"padding\":\"32px 28px\",\"textAlign\":\"left\"},\"children\":[[\"$\",\"svg\",null,{\"width\":\"32\",\"height\":\"32\",\"viewBox\":\"-0.2 -1.5 32 32\",\"fill\":\"none\",\"style\":{\"marginBottom\":\"24px\"},\"children\":[\"$\",\"path\",null,{\"d\":\"M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z\",\"fill\":\"var(--next-error-title)\"}]}],[\"$\",\"h1\",null,{\"style\":{\"fontSize\":\"24px\",\"fontWeight\":500,\"letterSpacing\":\"-0.02em\",\"lineHeight\":\"32px\",\"margin\":\"0 0 12px 0\",\"color\":\"var(--next-error-title)\"},\"children\":\"This page couldn’t load\"}],[\"$\",\"p\",null,{\"style\":{\"fontSize\":\"14px\",\"fontWeight\":400,\"lineHeight\":\"21px\",\"margin\":\"0 0 20px 0\",\"color\":\"var(--next-error-message)\"},\"children\":\"A server error occurred. Reload to try again.\"}],[\"$\",\"form\",null,{\"style\":{\"margin\":0},\"children\":[\"$\",\"button\",null,{\"type\":\"submit\",\"style\":{\"display\":\"inline-flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\",\"height\":\"32px\",\"padding\":\"0 12px\",\"fontSize\":\"14px\",\"fontWeight\":500,\"lineHeight\":\"20px\",\"borderRadius\":\"6px\",\"cursor\":\"pointer\",\"color\":\"var(--next-error-btn-text)\",\"background\":\"var(--next-error-btn-bg)\",\"border\":\"var(--next-error-btn-border)\"},\"children\":\"Reload\"}]}]]}]}]}]]}],null,[\"$\",\"$L7\",null,{\"children\":[\"$\",\"$8\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@9\"}]}]]}],\"p\":false,\"v\":null}}]]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"_global-error\"],\"q\":\"\",\"i\":false,\"t\":{\"t\":{\"s\":\"\",\"h\":528,\"d\":{\"r\":[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],\"p\":false,\"v\":\"$5\"},\"c\":\"$Q6\"},\"h\":{\"r\":[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$Lb\",null,{\"children\":\"$Lc\"}],[\"$\",\"$Le\",null,{\"children\":[[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$8\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lf\"}]}],null]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],\"p\":false,\"v\":null}},\"m\":\"$undefined\",\"G\":[\"$10\",[]],\"S\":true,\"r\":\"$undefined\",\"s\":\"$undefined\",\"a\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"R_nPUtDcDp1BPV3QHhaMZ\"}\n"])</script><script>self.__next_f.push([1,"5:C\nc:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"9:null\nf:[]\n"])</script></body></html>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"previewModeId": "
|
|
3
|
-
"previewModeSigningKey": "
|
|
4
|
-
"previewModeEncryptionKey": "
|
|
2
|
+
"previewModeId": "ff4ecf284d8a94860c9e0d7b5f922494",
|
|
3
|
+
"previewModeSigningKey": "e4d050d27bc29e8741f76ba8688a64a0f0017438aa5c06808d06436fae44e56c",
|
|
4
|
+
"previewModeEncryptionKey": "cceffbfae1873c39f987e656ee3518d6947b4ff80fe7ee7f578a981d60786061"
|
|
5
5
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
self.__RSC_SERVER_MANIFEST="{\n \"node\": {\n \"40b0e21d7f8b4005429ff4b05df18463f1064fb7f0\": {\n \"workers\": {\n \"app/(console)/gateway-off/page\": {\n \"moduleId\": 71965,\n \"async\": false\n },\n \"app/(console)/meetings/[meetingId]/page\": {\n \"moduleId\": 87625,\n \"async\": false\n },\n \"app/(console)/outside-parties/[name]/change/page\": {\n \"moduleId\": 8796,\n \"async\": false\n },\n \"app/(console)/outside-parties/[name]/page\": {\n \"moduleId\": 27032,\n \"async\": false\n },\n \"app/(console)/outside-parties/[name]/retire/page\": {\n \"moduleId\": 85744,\n \"async\": false\n },\n \"app/(console)/outside-parties/add-a2a-agent/page\": {\n \"moduleId\": 50088,\n \"async\": false\n },\n \"app/(console)/outside-parties/add-a2a-client/page\": {\n \"moduleId\": 36558,\n \"async\": false\n },\n \"app/(console)/outside-parties/add/page\": {\n \"moduleId\": 16602,\n \"async\": false\n },\n \"app/(console)/outside-parties/page\": {\n \"moduleId\": 63638,\n \"async\": false\n },\n \"app/(console)/overview/page\": {\n \"moduleId\": 43928,\n \"async\": false\n },\n \"app/(console)/overview/requests/[requestId]/page\": {\n \"moduleId\": 5376,\n \"async\": false\n },\n \"app/(console)/parties/page\": {\n \"moduleId\": 12784,\n \"async\": false\n },\n \"app/(console)/sign-in/failed/page\": {\n \"moduleId\": 38575,\n \"async\": false\n },\n \"app/(console)/slack/disconnect/page\": {\n \"moduleId\": 90096,\n \"async\": false\n },\n \"app/(console)/slack/expose/page\": {\n \"moduleId\": 22983,\n \"async\": false\n },\n \"app/(console)/slack/page\": {\n \"moduleId\": 97295,\n \"async\": false\n },\n \"app/(console)/slack/remove/page\": {\n \"moduleId\": 11528,\n \"async\": false\n },\n \"app/_not-found/page\": {\n \"moduleId\": 73290,\n \"async\": false\n },\n \"app/authorize/failed/page\": {\n \"moduleId\": 49166,\n \"async\": false\n },\n \"app/authorize/pick/page\": {\n \"moduleId\": 33170,\n \"async\": false\n },\n \"app/authorize/waiting/approval/page\": {\n \"moduleId\": 82110,\n \"async\": false\n }\n },\n \"filename\": \"web/features/frame/actions.ts\",\n \"exportedName\": \"setTheme\"\n },\n \"40e5fff1cbfe51a00dc8b6e06d91546bb9e1968fb2\": {\n \"workers\": {\n \"app/(console)/meetings/[meetingId]/page\": {\n \"moduleId\": 87625,\n \"async\": false\n }\n },\n \"filename\": \"web/features/meeting/hooks/meeting-actions.ts\",\n \"exportedName\": \"changeMic\"\n },\n \"40c722bc926906b0f6be8251efde8aa764e9c6f338\": {\n \"workers\": {\n \"app/(console)/meetings/[meetingId]/page\": {\n \"moduleId\": 87625,\n \"async\": false\n }\n },\n \"filename\": \"web/features/meeting/hooks/meeting-actions.ts\",\n \"exportedName\": \"contribute\"\n },\n \"60fcf6d16ccc90af7735f827cc6d334f4826bf8495\": {\n \"workers\": {\n \"app/(console)/outside-parties/page\": {\n \"moduleId\": 63638,\n \"async\": false\n }\n },\n \"filename\": \"web/features/outside-parties/actions.ts\",\n \"exportedName\": \"switchOutsideParties\"\n },\n \"4028780e49517416df740542487de4653d3929920a\": {\n \"workers\": {\n \"app/(console)/outside-parties/[name]/change/page\": {\n \"moduleId\": 8796,\n \"async\": false\n },\n \"app/(console)/outside-parties/[name]/page\": {\n \"moduleId\": 27032,\n \"async\": false\n },\n \"app/(console)/outside-parties/[name]/retire/page\": {\n \"moduleId\": 85744,\n \"async\": false\n },\n \"app/(console)/outside-parties/add/page\": {\n \"moduleId\": 16602,\n \"async\": false\n }\n },\n \"filename\": \"web/features/outside-party/actions.ts\",\n \"exportedName\": \"setPartyScopes\"\n },\n \"40d7eabe1b0f309bc00c04fdfa38569882157f32e2\": {\n \"workers\": {\n \"app/(console)/outside-parties/[name]/change/page\": {\n \"moduleId\": 8796,\n \"async\": false\n },\n \"app/(console)/outside-parties/[name]/page\": {\n \"moduleId\": 27032,\n \"async\": false\n },\n \"app/(console)/outside-parties/[name]/retire/page\": {\n \"moduleId\": 85744,\n \"async\": false\n },\n \"app/(console)/outside-parties/add/page\": {\n \"moduleId\": 16602,\n \"async\": false\n }\n },\n \"filename\": \"web/features/outside-party/actions.ts\",\n \"exportedName\": \"switchPartyTools\"\n },\n \"40954d64106bcac44448088cbba328143484020df3\": {\n \"workers\": {\n \"app/(console)/outside-parties/[name]/change/page\": {\n \"moduleId\": 8796,\n \"async\": false\n },\n \"app/(console)/outside-parties/[name]/page\": {\n \"moduleId\": 27032,\n \"async\": false\n },\n \"app/(console)/outside-parties/[name]/retire/page\": {\n \"moduleId\": 85744,\n \"async\": false\n },\n \"app/(console)/outside-parties/add/page\": {\n \"moduleId\": 16602,\n \"async\": false\n }\n },\n \"filename\": \"web/features/outside-party/actions.ts\",\n \"exportedName\": \"readMoreSignIns\"\n },\n \"40ecb6258cd5900a5098928e515d1c98fc904272db\": {\n \"workers\": {\n \"app/(console)/outside-parties/[name]/change/page\": {\n \"moduleId\": 8796,\n \"async\": false\n },\n \"app/(console)/outside-parties/[name]/page\": {\n \"moduleId\": 27032,\n \"async\": false\n },\n \"app/(console)/outside-parties/[name]/retire/page\": {\n \"moduleId\": 85744,\n \"async\": false\n },\n \"app/(console)/outside-parties/add/page\": {\n \"moduleId\": 16602,\n \"async\": false\n }\n },\n \"filename\": \"web/features/outside-party/actions.ts\",\n \"exportedName\": \"removePersonSignIn\"\n },\n \"603d2411f752d9cddfe3f925be33ee2e8bbcf5fa8c\": {\n \"workers\": {\n \"app/(console)/outside-parties/[name]/change/page\": {\n \"moduleId\": 8796,\n \"async\": false\n },\n \"app/(console)/outside-parties/[name]/page\": {\n \"moduleId\": 27032,\n \"async\": false\n },\n \"app/(console)/outside-parties/[name]/retire/page\": {\n \"moduleId\": 85744,\n \"async\": false\n },\n \"app/(console)/outside-parties/add/page\": {\n \"moduleId\": 16602,\n \"async\": false\n }\n },\n \"filename\": \"web/features/outside-party/actions.ts\",\n \"exportedName\": \"removeOwnSignIn\"\n },\n \"606b839bcdeb2572c2a0a4088ac669f86869c209d6\": {\n \"workers\": {\n \"app/(console)/outside-parties/[name]/change/page\": {\n \"moduleId\": 8796,\n \"async\": false\n },\n \"app/(console)/outside-parties/[name]/page\": {\n \"moduleId\": 27032,\n \"async\": false\n },\n \"app/(console)/outside-parties/[name]/retire/page\": {\n \"moduleId\": 85744,\n \"async\": false\n },\n \"app/(console)/outside-parties/add/page\": {\n \"moduleId\": 16602,\n \"async\": false\n }\n },\n \"filename\": \"web/features/outside-party/actions.ts\",\n \"exportedName\": \"signInToParty\"\n },\n \"60fe8b9a542bdfd96863c7a9ea3cc7390a1419979f\": {\n \"workers\": {\n \"app/(console)/outside-parties/[name]/change/page\": {\n \"moduleId\": 8796,\n \"async\": false\n },\n \"app/(console)/outside-parties/[name]/page\": {\n \"moduleId\": 27032,\n \"async\": false\n },\n \"app/(console)/outside-parties/[name]/retire/page\": {\n \"moduleId\": 85744,\n \"async\": false\n },\n \"app/(console)/outside-parties/add/page\": {\n \"moduleId\": 16602,\n \"async\": false\n }\n },\n \"filename\": \"web/features/outside-party/actions.ts\",\n \"exportedName\": \"markA2aAgent\"\n },\n \"603cd3e0e5286ab35fcea76e32b39c3e9bc407f026\": {\n \"workers\": {\n \"app/(console)/outside-parties/[name]/change/page\": {\n \"moduleId\": 8796,\n \"async\": false\n },\n \"app/(console)/outside-parties/[name]/retire/page\": {\n \"moduleId\": 85744,\n \"async\": false\n }\n },\n \"filename\": \"web/features/outside-party/actions.ts\",\n \"exportedName\": \"retireParty\"\n },\n \"60def34e6633ab40fdd715c8b11c926ace4bb8246e\": {\n \"workers\": {\n \"app/(console)/outside-parties/[name]/change/page\": {\n \"moduleId\": 8796,\n \"async\": false\n },\n \"app/(console)/outside-parties/[name]/retire/page\": {\n \"moduleId\": 85744,\n \"async\": false\n }\n },\n \"filename\": \"web/features/outside-party/actions.ts\",\n \"exportedName\": \"changeParty\"\n },\n \"6016f937a1369b6859c9c0fd2f9becfa3697def235\": {\n \"workers\": {\n \"app/(console)/outside-parties/add/page\": {\n \"moduleId\": 16602,\n \"async\": false\n }\n },\n \"filename\": \"web/features/add-server/actions.ts\",\n \"exportedName\": \"approveServer\"\n },\n \"605ccee1941cfb893bf04e87e68a064ea6aafbe3eb\": {\n \"workers\": {\n \"app/(console)/outside-parties/add/page\": {\n \"moduleId\": 16602,\n \"async\": false\n }\n },\n \"filename\": \"web/features/add-server/actions.ts\",\n \"exportedName\": \"checkServer\"\n },\n \"60441535fb5f957bb3ee35ed3eb76b6a02f3318313\": {\n \"workers\": {\n \"app/(console)/outside-parties/add-a2a-agent/page\": {\n \"moduleId\": 50088,\n \"async\": false\n }\n },\n \"filename\": \"web/features/add-a2a-agent/actions.ts\",\n \"exportedName\": \"addA2aAgent\"\n },\n \"603e8c3f824e1a0f93b5c528fcd5a56924652a6ba8\": {\n \"workers\": {\n \"app/(console)/outside-parties/add-a2a-client/page\": {\n \"moduleId\": 36558,\n \"async\": false\n }\n },\n \"filename\": \"web/features/add-a2a-client/actions.ts\",\n \"exportedName\": \"addA2aClient\"\n },\n \"40ae610470b220edde12dfcd0dcb883778a46b5769\": {\n \"workers\": {\n \"app/(console)/overview/page\": {\n \"moduleId\": 43928,\n \"async\": false\n }\n },\n \"filename\": \"web/features/overview/hooks/overview-actions.ts\",\n \"exportedName\": \"answerDelivery\"\n },\n \"60267e1675def7fa03b52ee6e22e44417045b7b46e\": {\n \"workers\": {\n \"app/(console)/overview/page\": {\n \"moduleId\": 43928,\n \"async\": false\n }\n },\n \"filename\": \"web/features/overview/hooks/overview-actions.ts\",\n \"exportedName\": \"doneDelivery\"\n },\n \"60921dc196215ea50ba1fbe244d7ba12f4ee854bc3\": {\n \"workers\": {\n \"app/(console)/overview/page\": {\n \"moduleId\": 43928,\n \"async\": false\n }\n },\n \"filename\": \"web/features/overview/hooks/overview-actions.ts\",\n \"exportedName\": \"openDelivery\"\n },\n \"60c41f46442b451436a647e49d534f317322a42d45\": {\n \"workers\": {\n \"app/(console)/overview/page\": {\n \"moduleId\": 43928,\n \"async\": false\n }\n },\n \"filename\": \"web/features/overview/hooks/overview-actions.ts\",\n \"exportedName\": \"showAllInSlack\"\n },\n \"40e4bf18443c257013b0a2532903a761a4ac4ccdff\": {\n \"workers\": {\n \"app/(console)/overview/page\": {\n \"moduleId\": 43928,\n \"async\": false\n }\n },\n \"filename\": \"web/features/overview/hooks/overview-actions.ts\",\n \"exportedName\": \"unlinkSlack\"\n },\n \"6038f4ad0490a2602bfa10c97515225ec96ad111e8\": {\n \"workers\": {\n \"app/(console)/overview/page\": {\n \"moduleId\": 43928,\n \"async\": false\n }\n },\n \"filename\": \"web/features/overview/hooks/overview-actions.ts\",\n \"exportedName\": \"turnEmail\"\n },\n \"6009cfdd63be665d231e0fd78d870bf6200c4e4f93\": {\n \"workers\": {\n \"app/(console)/overview/page\": {\n \"moduleId\": 43928,\n \"async\": false\n }\n },\n \"filename\": \"web/features/overview/hooks/overview-actions.ts\",\n \"exportedName\": \"turnOffWebPush\"\n },\n \"60807aaf167de60b1548a6b1a270efc65a01bcc89b\": {\n \"workers\": {\n \"app/(console)/overview/page\": {\n \"moduleId\": 43928,\n \"async\": false\n }\n },\n \"filename\": \"web/features/overview/hooks/overview-actions.ts\",\n \"exportedName\": \"turnOnWebPush\"\n },\n \"402decc5318dd2cf7bed966b0f203e2b1dd0d01321\": {\n \"workers\": {\n \"app/(console)/overview/requests/[requestId]/page\": {\n \"moduleId\": 5376,\n \"async\": false\n }\n },\n \"filename\": \"web/features/overview/hooks/overview-actions.ts\",\n \"exportedName\": \"decideRequest\"\n },\n \"607ed7527bf9cd99f6dd92585a5067ae24ed83132e\": {\n \"workers\": {\n \"app/(console)/parties/page\": {\n \"moduleId\": 12784,\n \"async\": false\n }\n },\n \"filename\": \"web/features/parties/actions.ts\",\n \"exportedName\": \"crewParty\"\n },\n \"60c607c29bc8ae45f60b350a081b6aa730f8a5bf1b\": {\n \"workers\": {\n \"app/(console)/parties/page\": {\n \"moduleId\": 12784,\n \"async\": false\n }\n },\n \"filename\": \"web/features/parties/actions.ts\",\n \"exportedName\": \"approveParty\"\n },\n \"60c9b8f1002752d3c0ce89d9327f460520711d527d\": {\n \"workers\": {\n \"app/(console)/parties/page\": {\n \"moduleId\": 12784,\n \"async\": false\n }\n },\n \"filename\": \"web/features/parties/actions.ts\",\n \"exportedName\": \"markTool\"\n },\n \"60cd5306f4bb93b49da894f11335b3f377a904f144\": {\n \"workers\": {\n \"app/(console)/parties/page\": {\n \"moduleId\": 12784,\n \"async\": false\n }\n },\n \"filename\": \"web/features/parties/actions.ts\",\n \"exportedName\": \"stateParty\"\n },\n \"601f2a50a912a667aaadfedede2d771ac7ccfe98ec\": {\n \"workers\": {\n \"app/(console)/slack/disconnect/page\": {\n \"moduleId\": 90096,\n \"async\": false\n },\n \"app/(console)/slack/expose/page\": {\n \"moduleId\": 22983,\n \"async\": false\n },\n \"app/(console)/slack/page\": {\n \"moduleId\": 97295,\n \"async\": false\n },\n \"app/(console)/slack/remove/page\": {\n \"moduleId\": 11528,\n \"async\": false\n }\n },\n \"filename\": \"web/features/slack/actions.ts\",\n \"exportedName\": \"exposeShip\"\n },\n \"604bd6741e25b90f7450d071c4a2c6538f34216f22\": {\n \"workers\": {\n \"app/(console)/slack/disconnect/page\": {\n \"moduleId\": 90096,\n \"async\": false\n },\n \"app/(console)/slack/expose/page\": {\n \"moduleId\": 22983,\n \"async\": false\n },\n \"app/(console)/slack/page\": {\n \"moduleId\": 97295,\n \"async\": false\n },\n \"app/(console)/slack/remove/page\": {\n \"moduleId\": 11528,\n \"async\": false\n }\n },\n \"filename\": \"web/features/slack/actions.ts\",\n \"exportedName\": \"removeBot\"\n },\n \"60736965d0a53852cda56cf502ce988b129f9909e5\": {\n \"workers\": {\n \"app/(console)/slack/disconnect/page\": {\n \"moduleId\": 90096,\n \"async\": false\n },\n \"app/(console)/slack/expose/page\": {\n \"moduleId\": 22983,\n \"async\": false\n },\n \"app/(console)/slack/page\": {\n \"moduleId\": 97295,\n \"async\": false\n },\n \"app/(console)/slack/remove/page\": {\n \"moduleId\": 11528,\n \"async\": false\n }\n },\n \"filename\": \"web/features/slack/actions.ts\",\n \"exportedName\": \"installBot\"\n },\n \"6084c872949082f2566d50959f278a14b7c5d90d2a\": {\n \"workers\": {\n \"app/(console)/slack/disconnect/page\": {\n \"moduleId\": 90096,\n \"async\": false\n },\n \"app/(console)/slack/expose/page\": {\n \"moduleId\": 22983,\n \"async\": false\n },\n \"app/(console)/slack/page\": {\n \"moduleId\": 97295,\n \"async\": false\n },\n \"app/(console)/slack/remove/page\": {\n \"moduleId\": 11528,\n \"async\": false\n }\n },\n \"filename\": \"web/features/slack/actions.ts\",\n \"exportedName\": \"connectSlack\"\n },\n \"608a11b2d03216d3cd3ff6e6e1570e745f5332507b\": {\n \"workers\": {\n \"app/(console)/slack/disconnect/page\": {\n \"moduleId\": 90096,\n \"async\": false\n },\n \"app/(console)/slack/expose/page\": {\n \"moduleId\": 22983,\n \"async\": false\n },\n \"app/(console)/slack/page\": {\n \"moduleId\": 97295,\n \"async\": false\n },\n \"app/(console)/slack/remove/page\": {\n \"moduleId\": 11528,\n \"async\": false\n }\n },\n \"filename\": \"web/features/slack/actions.ts\",\n \"exportedName\": \"disconnectSlack\"\n }\n },\n \"edge\": {},\n \"encryptionKey\": \"j9bKTbHvtdS6oaRfxUIo2DV7jeg5BDkUdW2WdgwDDtM=\"\n}"
|
|
1
|
+
self.__RSC_SERVER_MANIFEST="{\n \"node\": {\n \"40c2ebc7d82ce92803e9e2046541ec9e3aaa9d6ca2\": {\n \"workers\": {\n \"app/(console)/gateway-off/page\": {\n \"moduleId\": 71965,\n \"async\": false\n },\n \"app/(console)/meetings/[meetingId]/page\": {\n \"moduleId\": 87625,\n \"async\": false\n },\n \"app/(console)/outside-parties/[name]/change/page\": {\n \"moduleId\": 8796,\n \"async\": false\n },\n \"app/(console)/outside-parties/[name]/page\": {\n \"moduleId\": 27032,\n \"async\": false\n },\n \"app/(console)/outside-parties/[name]/retire/page\": {\n \"moduleId\": 85744,\n \"async\": false\n },\n \"app/(console)/outside-parties/add-a2a-agent/page\": {\n \"moduleId\": 50088,\n \"async\": false\n },\n \"app/(console)/outside-parties/add-a2a-client/page\": {\n \"moduleId\": 36558,\n \"async\": false\n },\n \"app/(console)/outside-parties/add/page\": {\n \"moduleId\": 16602,\n \"async\": false\n },\n \"app/(console)/outside-parties/page\": {\n \"moduleId\": 63638,\n \"async\": false\n },\n \"app/(console)/overview/page\": {\n \"moduleId\": 43928,\n \"async\": false\n },\n \"app/(console)/overview/requests/[requestId]/page\": {\n \"moduleId\": 5376,\n \"async\": false\n },\n \"app/(console)/parties/page\": {\n \"moduleId\": 12784,\n \"async\": false\n },\n \"app/(console)/sign-in/failed/page\": {\n \"moduleId\": 38575,\n \"async\": false\n },\n \"app/(console)/slack/disconnect/page\": {\n \"moduleId\": 90096,\n \"async\": false\n },\n \"app/(console)/slack/expose/page\": {\n \"moduleId\": 22983,\n \"async\": false\n },\n \"app/(console)/slack/page\": {\n \"moduleId\": 97295,\n \"async\": false\n },\n \"app/(console)/slack/remove/page\": {\n \"moduleId\": 11528,\n \"async\": false\n },\n \"app/_not-found/page\": {\n \"moduleId\": 73290,\n \"async\": false\n },\n \"app/authorize/failed/page\": {\n \"moduleId\": 49166,\n \"async\": false\n },\n \"app/authorize/pick/page\": {\n \"moduleId\": 33170,\n \"async\": false\n },\n \"app/authorize/waiting/approval/page\": {\n \"moduleId\": 82110,\n \"async\": false\n }\n },\n \"filename\": \"web/features/frame/actions.ts\",\n \"exportedName\": \"setTheme\"\n },\n \"40280d908ca33fb0cfafc559b986139267743c737f\": {\n \"workers\": {\n \"app/(console)/meetings/[meetingId]/page\": {\n \"moduleId\": 87625,\n \"async\": false\n }\n },\n \"filename\": \"web/features/meeting/hooks/meeting-actions.ts\",\n \"exportedName\": \"changeMic\"\n },\n \"40741faa851c4e53de3359cd0685cd83bb3fd630eb\": {\n \"workers\": {\n \"app/(console)/meetings/[meetingId]/page\": {\n \"moduleId\": 87625,\n \"async\": false\n }\n },\n \"filename\": \"web/features/meeting/hooks/meeting-actions.ts\",\n \"exportedName\": \"contribute\"\n },\n \"6050d21a58ec37f23286c198c6337c1fc2dd06e9eb\": {\n \"workers\": {\n \"app/(console)/outside-parties/page\": {\n \"moduleId\": 63638,\n \"async\": false\n }\n },\n \"filename\": \"web/features/outside-parties/actions.ts\",\n \"exportedName\": \"switchOutsideParties\"\n },\n \"40930ed710ea075b266085d38eebd26db54b9dc267\": {\n \"workers\": {\n \"app/(console)/outside-parties/[name]/change/page\": {\n \"moduleId\": 8796,\n \"async\": false\n },\n \"app/(console)/outside-parties/[name]/page\": {\n \"moduleId\": 27032,\n \"async\": false\n },\n \"app/(console)/outside-parties/[name]/retire/page\": {\n \"moduleId\": 85744,\n \"async\": false\n },\n \"app/(console)/outside-parties/add/page\": {\n \"moduleId\": 16602,\n \"async\": false\n }\n },\n \"filename\": \"web/features/outside-party/actions.ts\",\n \"exportedName\": \"setPartyScopes\"\n },\n \"40366600175661e6f58ff949f6b41977060d5282c5\": {\n \"workers\": {\n \"app/(console)/outside-parties/[name]/change/page\": {\n \"moduleId\": 8796,\n \"async\": false\n },\n \"app/(console)/outside-parties/[name]/page\": {\n \"moduleId\": 27032,\n \"async\": false\n },\n \"app/(console)/outside-parties/[name]/retire/page\": {\n \"moduleId\": 85744,\n \"async\": false\n },\n \"app/(console)/outside-parties/add/page\": {\n \"moduleId\": 16602,\n \"async\": false\n }\n },\n \"filename\": \"web/features/outside-party/actions.ts\",\n \"exportedName\": \"switchPartyTools\"\n },\n \"400f4c6de7f898f708a51cacab693aeeb02cd605d6\": {\n \"workers\": {\n \"app/(console)/outside-parties/[name]/change/page\": {\n \"moduleId\": 8796,\n \"async\": false\n },\n \"app/(console)/outside-parties/[name]/page\": {\n \"moduleId\": 27032,\n \"async\": false\n },\n \"app/(console)/outside-parties/[name]/retire/page\": {\n \"moduleId\": 85744,\n \"async\": false\n },\n \"app/(console)/outside-parties/add/page\": {\n \"moduleId\": 16602,\n \"async\": false\n }\n },\n \"filename\": \"web/features/outside-party/actions.ts\",\n \"exportedName\": \"readMoreSignIns\"\n },\n \"4084b9079f1fbb4244756eda11599a9bac21502596\": {\n \"workers\": {\n \"app/(console)/outside-parties/[name]/change/page\": {\n \"moduleId\": 8796,\n \"async\": false\n },\n \"app/(console)/outside-parties/[name]/page\": {\n \"moduleId\": 27032,\n \"async\": false\n },\n \"app/(console)/outside-parties/[name]/retire/page\": {\n \"moduleId\": 85744,\n \"async\": false\n },\n \"app/(console)/outside-parties/add/page\": {\n \"moduleId\": 16602,\n \"async\": false\n }\n },\n \"filename\": \"web/features/outside-party/actions.ts\",\n \"exportedName\": \"removePersonSignIn\"\n },\n \"60377d2f78e4c8f3923cbfceb2270ab98c2b4101a7\": {\n \"workers\": {\n \"app/(console)/outside-parties/[name]/change/page\": {\n \"moduleId\": 8796,\n \"async\": false\n },\n \"app/(console)/outside-parties/[name]/page\": {\n \"moduleId\": 27032,\n \"async\": false\n },\n \"app/(console)/outside-parties/[name]/retire/page\": {\n \"moduleId\": 85744,\n \"async\": false\n },\n \"app/(console)/outside-parties/add/page\": {\n \"moduleId\": 16602,\n \"async\": false\n }\n },\n \"filename\": \"web/features/outside-party/actions.ts\",\n \"exportedName\": \"removeOwnSignIn\"\n },\n \"607d93096f3910006630c6daa2ce70145597e6748f\": {\n \"workers\": {\n \"app/(console)/outside-parties/[name]/change/page\": {\n \"moduleId\": 8796,\n \"async\": false\n },\n \"app/(console)/outside-parties/[name]/page\": {\n \"moduleId\": 27032,\n \"async\": false\n },\n \"app/(console)/outside-parties/[name]/retire/page\": {\n \"moduleId\": 85744,\n \"async\": false\n },\n \"app/(console)/outside-parties/add/page\": {\n \"moduleId\": 16602,\n \"async\": false\n }\n },\n \"filename\": \"web/features/outside-party/actions.ts\",\n \"exportedName\": \"signInToParty\"\n },\n \"60853ded92fa83abbddfe0a7d5d9d4e178adc5e40c\": {\n \"workers\": {\n \"app/(console)/outside-parties/[name]/change/page\": {\n \"moduleId\": 8796,\n \"async\": false\n },\n \"app/(console)/outside-parties/[name]/page\": {\n \"moduleId\": 27032,\n \"async\": false\n },\n \"app/(console)/outside-parties/[name]/retire/page\": {\n \"moduleId\": 85744,\n \"async\": false\n },\n \"app/(console)/outside-parties/add/page\": {\n \"moduleId\": 16602,\n \"async\": false\n }\n },\n \"filename\": \"web/features/outside-party/actions.ts\",\n \"exportedName\": \"markA2aAgent\"\n },\n \"60ca50a81ad3e889deb421124618cc5291b2c77f2a\": {\n \"workers\": {\n \"app/(console)/outside-parties/[name]/change/page\": {\n \"moduleId\": 8796,\n \"async\": false\n },\n \"app/(console)/outside-parties/[name]/retire/page\": {\n \"moduleId\": 85744,\n \"async\": false\n }\n },\n \"filename\": \"web/features/outside-party/actions.ts\",\n \"exportedName\": \"changeParty\"\n },\n \"60f29f54caeae17de92b0d1cfad06784859808aea7\": {\n \"workers\": {\n \"app/(console)/outside-parties/[name]/change/page\": {\n \"moduleId\": 8796,\n \"async\": false\n },\n \"app/(console)/outside-parties/[name]/retire/page\": {\n \"moduleId\": 85744,\n \"async\": false\n }\n },\n \"filename\": \"web/features/outside-party/actions.ts\",\n \"exportedName\": \"retireParty\"\n },\n \"60677bc3f550873a6ee6a663c347d21258f73956e9\": {\n \"workers\": {\n \"app/(console)/outside-parties/add/page\": {\n \"moduleId\": 16602,\n \"async\": false\n }\n },\n \"filename\": \"web/features/add-server/actions.ts\",\n \"exportedName\": \"approveServer\"\n },\n \"602aff8b5de3a8c13f117e6954eceef8b610d28ed1\": {\n \"workers\": {\n \"app/(console)/outside-parties/add/page\": {\n \"moduleId\": 16602,\n \"async\": false\n }\n },\n \"filename\": \"web/features/add-server/actions.ts\",\n \"exportedName\": \"checkServer\"\n },\n \"608ad0d36a0cdd886e103d2759009ddc4187ee8568\": {\n \"workers\": {\n \"app/(console)/outside-parties/add-a2a-agent/page\": {\n \"moduleId\": 50088,\n \"async\": false\n }\n },\n \"filename\": \"web/features/add-a2a-agent/actions.ts\",\n \"exportedName\": \"addA2aAgent\"\n },\n \"60c7eca121dbae1c124f74472d6836045817fe9b27\": {\n \"workers\": {\n \"app/(console)/outside-parties/add-a2a-client/page\": {\n \"moduleId\": 36558,\n \"async\": false\n }\n },\n \"filename\": \"web/features/add-a2a-client/actions.ts\",\n \"exportedName\": \"addA2aClient\"\n },\n \"40db6d8e8bf7bc28f18e2b6e6b883909a3fd918ba7\": {\n \"workers\": {\n \"app/(console)/overview/page\": {\n \"moduleId\": 43928,\n \"async\": false\n }\n },\n \"filename\": \"web/features/overview/hooks/overview-actions.ts\",\n \"exportedName\": \"answerDelivery\"\n },\n \"60e7ce47eb2d23df456a542903519b389ce1ca3d37\": {\n \"workers\": {\n \"app/(console)/overview/page\": {\n \"moduleId\": 43928,\n \"async\": false\n }\n },\n \"filename\": \"web/features/overview/hooks/overview-actions.ts\",\n \"exportedName\": \"doneDelivery\"\n },\n \"6076a2215296656c4d1a1b5812e97c6a902490be89\": {\n \"workers\": {\n \"app/(console)/overview/page\": {\n \"moduleId\": 43928,\n \"async\": false\n }\n },\n \"filename\": \"web/features/overview/hooks/overview-actions.ts\",\n \"exportedName\": \"openDelivery\"\n },\n \"601910062a5e0864a2917cd809b6f8accb362b46d1\": {\n \"workers\": {\n \"app/(console)/overview/page\": {\n \"moduleId\": 43928,\n \"async\": false\n }\n },\n \"filename\": \"web/features/overview/hooks/overview-actions.ts\",\n \"exportedName\": \"showAllInSlack\"\n },\n \"40bda0ff816df122642777c895d7e4a5c52172f56a\": {\n \"workers\": {\n \"app/(console)/overview/page\": {\n \"moduleId\": 43928,\n \"async\": false\n }\n },\n \"filename\": \"web/features/overview/hooks/overview-actions.ts\",\n \"exportedName\": \"unlinkSlack\"\n },\n \"601b65024ccb7fc33018510433a7610daeebdbdb3d\": {\n \"workers\": {\n \"app/(console)/overview/page\": {\n \"moduleId\": 43928,\n \"async\": false\n }\n },\n \"filename\": \"web/features/overview/hooks/overview-actions.ts\",\n \"exportedName\": \"turnEmail\"\n },\n \"607887cbdee422db6a9cda69ee2c54629879fb2510\": {\n \"workers\": {\n \"app/(console)/overview/page\": {\n \"moduleId\": 43928,\n \"async\": false\n }\n },\n \"filename\": \"web/features/overview/hooks/overview-actions.ts\",\n \"exportedName\": \"turnOffWebPush\"\n },\n \"6099ca5bb6c962ad51b5b316d713691acae0b2e746\": {\n \"workers\": {\n \"app/(console)/overview/page\": {\n \"moduleId\": 43928,\n \"async\": false\n }\n },\n \"filename\": \"web/features/overview/hooks/overview-actions.ts\",\n \"exportedName\": \"turnOnWebPush\"\n },\n \"408819c99996290b362a2ea4e8b39d342b6bf79c81\": {\n \"workers\": {\n \"app/(console)/overview/requests/[requestId]/page\": {\n \"moduleId\": 5376,\n \"async\": false\n }\n },\n \"filename\": \"web/features/overview/hooks/overview-actions.ts\",\n \"exportedName\": \"decideRequest\"\n },\n \"608e2d3bc076c9fc1aeac506aefae08b559c54a822\": {\n \"workers\": {\n \"app/(console)/parties/page\": {\n \"moduleId\": 12784,\n \"async\": false\n }\n },\n \"filename\": \"web/features/parties/actions.ts\",\n \"exportedName\": \"approveParty\"\n },\n \"609b2571e83693391c61fee7968637f7c1fa4fa80a\": {\n \"workers\": {\n \"app/(console)/parties/page\": {\n \"moduleId\": 12784,\n \"async\": false\n }\n },\n \"filename\": \"web/features/parties/actions.ts\",\n \"exportedName\": \"crewParty\"\n },\n \"60a073d8c40cccf68b1f41bc9e38bc4ec4c2f85b12\": {\n \"workers\": {\n \"app/(console)/parties/page\": {\n \"moduleId\": 12784,\n \"async\": false\n }\n },\n \"filename\": \"web/features/parties/actions.ts\",\n \"exportedName\": \"stateParty\"\n },\n \"60b09a7526f0f57443094aee7bf2410d5c6d21a2d0\": {\n \"workers\": {\n \"app/(console)/parties/page\": {\n \"moduleId\": 12784,\n \"async\": false\n }\n },\n \"filename\": \"web/features/parties/actions.ts\",\n \"exportedName\": \"markTool\"\n },\n \"600d22e3e9babdae9f3c55c0e38a29cc19141157d3\": {\n \"workers\": {\n \"app/(console)/slack/disconnect/page\": {\n \"moduleId\": 90096,\n \"async\": false\n },\n \"app/(console)/slack/expose/page\": {\n \"moduleId\": 22983,\n \"async\": false\n },\n \"app/(console)/slack/page\": {\n \"moduleId\": 97295,\n \"async\": false\n },\n \"app/(console)/slack/remove/page\": {\n \"moduleId\": 11528,\n \"async\": false\n }\n },\n \"filename\": \"web/features/slack/actions.ts\",\n \"exportedName\": \"removeBot\"\n },\n \"6021d50446cc12f1dca06198d272f1586c0c8e69d4\": {\n \"workers\": {\n \"app/(console)/slack/disconnect/page\": {\n \"moduleId\": 90096,\n \"async\": false\n },\n \"app/(console)/slack/expose/page\": {\n \"moduleId\": 22983,\n \"async\": false\n },\n \"app/(console)/slack/page\": {\n \"moduleId\": 97295,\n \"async\": false\n },\n \"app/(console)/slack/remove/page\": {\n \"moduleId\": 11528,\n \"async\": false\n }\n },\n \"filename\": \"web/features/slack/actions.ts\",\n \"exportedName\": \"installBot\"\n },\n \"6061061471519c846108a0c41a7928281d9530dd52\": {\n \"workers\": {\n \"app/(console)/slack/disconnect/page\": {\n \"moduleId\": 90096,\n \"async\": false\n },\n \"app/(console)/slack/expose/page\": {\n \"moduleId\": 22983,\n \"async\": false\n },\n \"app/(console)/slack/page\": {\n \"moduleId\": 97295,\n \"async\": false\n },\n \"app/(console)/slack/remove/page\": {\n \"moduleId\": 11528,\n \"async\": false\n }\n },\n \"filename\": \"web/features/slack/actions.ts\",\n \"exportedName\": \"connectSlack\"\n },\n \"60ab08dc47412cb573034b0ee5efce1d294ab880ed\": {\n \"workers\": {\n \"app/(console)/slack/disconnect/page\": {\n \"moduleId\": 90096,\n \"async\": false\n },\n \"app/(console)/slack/expose/page\": {\n \"moduleId\": 22983,\n \"async\": false\n },\n \"app/(console)/slack/page\": {\n \"moduleId\": 97295,\n \"async\": false\n },\n \"app/(console)/slack/remove/page\": {\n \"moduleId\": 11528,\n \"async\": false\n }\n },\n \"filename\": \"web/features/slack/actions.ts\",\n \"exportedName\": \"exposeShip\"\n },\n \"60d72d0371155b302dc2db8fe7b6f8b43d0559d3b3\": {\n \"workers\": {\n \"app/(console)/slack/disconnect/page\": {\n \"moduleId\": 90096,\n \"async\": false\n },\n \"app/(console)/slack/expose/page\": {\n \"moduleId\": 22983,\n \"async\": false\n },\n \"app/(console)/slack/page\": {\n \"moduleId\": 97295,\n \"async\": false\n },\n \"app/(console)/slack/remove/page\": {\n \"moduleId\": 11528,\n \"async\": false\n }\n },\n \"filename\": \"web/features/slack/actions.ts\",\n \"exportedName\": \"disconnectSlack\"\n }\n },\n \"edge\": {},\n \"encryptionKey\": \"FQT2pJrRqE5hvkXUPMCO5hmslqXduLAVJsDMeAme7RY=\"\n}"
|