@runeya/runeya 2.0.144 → 2.0.146
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/agent/index.js +33 -22
- package/agent/index.js.map +1 -1
- package/agent-manager-R7BPQO6D.js +11 -0
- package/chat-LPML22J5.js +24 -0
- package/{chunk-7L6AQUBR.js → chunk-4LJQIQMN.js} +6 -2
- package/{chunk-7L6AQUBR.js.map → chunk-4LJQIQMN.js.map} +1 -1
- package/{chunk-7HIPFSOA.js → chunk-57P45FNY.js} +11 -3
- package/chunk-57P45FNY.js.map +1 -0
- package/chunk-6IBPK6UE.js +1063 -0
- package/chunk-6IBPK6UE.js.map +1 -0
- package/{chunk-GXE5TLLJ.js → chunk-KV4GJKXU.js} +17 -17
- package/{chunk-XAFOP677.js → chunk-MZSDTA4A.js} +480 -233
- package/chunk-MZSDTA4A.js.map +1 -0
- package/{chunk-UR3HL373.js → chunk-NPMSBYXC.js} +8 -8
- package/{chunk-P73PTVII.js → chunk-SEPAURTQ.js} +369 -1282
- package/chunk-SEPAURTQ.js.map +1 -0
- package/{chunk-NSS47H26.js → chunk-UD42LACH.js} +348 -78
- package/chunk-UD42LACH.js.map +1 -0
- package/{chunk-IXO5KIO5.js → chunk-VPSQJOSN.js} +23 -2
- package/{chunk-IXO5KIO5.js.map → chunk-VPSQJOSN.js.map} +1 -1
- package/{companion-2LHKU577.js → companion-W3UMZWGH.js} +11 -7
- package/{desktop-installer-page-6JDSXK2E.js → desktop-installer-page-I5FHFDES.js} +11 -8
- package/desktop-installer-page-I5FHFDES.js.map +1 -0
- package/{desktop-launcher-YPNRQMIS.js → desktop-launcher-GD4QPM66.js} +3 -3
- package/external-NMKQPROK.js +387 -0
- package/external-NMKQPROK.js.map +1 -0
- package/index.js +34 -12
- package/index.js.map +1 -1
- package/{install-gate-2NNH7RM2.js → install-gate-PVMGJDWE.js} +2 -2
- package/mcp-server/external.d.ts +44 -0
- package/mcp-server/external.js +2679 -0
- package/mcp-server/external.js.map +1 -0
- package/mcp-server/index.js +142 -40
- package/mcp-server/index.js.map +1 -1
- package/mcp-server/launch.d.ts +19 -1
- package/mcp-server/launch.js +20 -0
- package/mcp-server/launch.js.map +1 -1
- package/package.json +1 -1
- package/settings-manager-XPLBO35P.js +10 -0
- package/src-DCCEUWE6.js +385 -0
- package/{src-5TEXF3SU.js → src-LEDGW5KP.js} +1029 -536
- package/src-LEDGW5KP.js.map +1 -0
- package/{vault-resolver-VK6W5J6W.js → vault-resolver-E7KPKA5C.js} +3 -2
- package/vault-resolver-E7KPKA5C.js.map +1 -0
- package/web/assets/{AgentScalarChatInterface.vue-B-SjOsdj.js → AgentScalarChatInterface.vue-BYszptaB.js} +1 -1
- package/web/assets/{AgentTerminalPage-JzC8DUgu.js → AgentTerminalPage-C3TJ1NL9.js} +1 -1
- package/web/assets/{AiChatModals-D1928AxG.js → AiChatModals-D3scRE3S.js} +1 -1
- package/web/assets/AppLayout-BMQUjPKe.js +1 -0
- package/web/assets/{AppLayout-8sBPr3od.css → AppLayout-tsw5Ow0w.css} +1 -1
- package/web/assets/{AuditPage-BZIJ3_Kr.js → AuditPage-CKcExBws.js} +1 -1
- package/web/assets/{CloudAccountPage-DBv470sT.js → CloudAccountPage-B6oPg0BZ.js} +1 -1
- package/web/assets/{CloudMessagingPage-qCI8-UDL.js → CloudMessagingPage-C5fwVe-F.js} +1 -1
- package/web/assets/DashboardPage-9RV7sx3e.js +1 -0
- package/web/assets/{DashboardPage-D9-PpC3F.css → DashboardPage-FvNuC_e4.css} +1 -1
- package/web/assets/{DirectoryPickerDialog-B5DvDfQP.js → DirectoryPickerDialog-C06BXyfJ.js} +1 -1
- package/web/assets/{EnvironmentForm-Bw8Djnqm.js → EnvironmentForm-CAvDoira.js} +1 -1
- package/web/assets/{EnvironmentFormPage-B59uiYtp.js → EnvironmentFormPage-BmAxhN-m.js} +1 -1
- package/web/assets/{EnvironmentListPage-W9zLDZAg.js → EnvironmentListPage-B8uATPBI.js} +1 -1
- package/web/assets/KanbanBoardPage-CQsOkRUf.js +4 -0
- package/web/assets/KanbanBoardPage-eHmsrFGA.css +1 -0
- package/web/assets/{KanbanListPage-Bn9k8Rpc.js → KanbanListPage-CWZqkjD6.js} +1 -1
- package/web/assets/{LaunchProjectPage-Dc7v1UjQ.js → LaunchProjectPage-saSmC7Pr.js} +1 -1
- package/web/assets/LaunchServicesPage-BkKyLMEz.js +1 -0
- package/web/assets/LaunchServicesPage-DoLDPqQq.css +1 -0
- package/web/assets/{LaunchShell-LonTJpb3.js → LaunchShell-DUrSunB4.js} +1 -1
- package/web/assets/{LogViewer-DkuqWYkQ.js → LogViewer-CZBYkH9J.js} +1 -1
- package/web/assets/{OrgKeyPrompt-By1VjlSN.js → OrgKeyPrompt-DzQ7pwbs.js} +1 -1
- package/web/assets/{ProcessControls-C0skzKGL.js → ProcessControls-BEeoNlNV.js} +1 -1
- package/web/assets/{ProcessDetailPage-BvPX6z_X.js → ProcessDetailPage-CQgu5uKm.js} +1 -1
- package/web/assets/{ProjectCreateDialog-C4o9u15L.js → ProjectCreateDialog-BolrhRD-.js} +1 -1
- package/web/assets/{ProjectLocationGate-BJ1CSQt0.js → ProjectLocationGate-DhMVdIjN.js} +1 -1
- package/web/assets/{ProjectPublishDialog-Cp-zXdGm.js → ProjectPublishDialog-DsZNWrfz.js} +1 -1
- package/web/assets/{RandomJobTestPage-DF4a1U13.js → RandomJobTestPage-BUS2Ty6-.js} +1 -1
- package/web/assets/ScenarioEditorPage-MIAGh2us.js +14 -0
- package/web/assets/{SendToChatDialog-Dg2SHkVD.js → SendToChatDialog-BxWsyv29.js} +1 -1
- package/web/assets/{ServiceControlsBar-q2VHWaxK.js → ServiceControlsBar-DqDPAZt7.js} +1 -1
- package/web/assets/ServiceDetailPage-hkSAzZ-l.js +2 -0
- package/web/assets/{ServiceFormPage-tT_n7WUy.js → ServiceFormPage-DXqhqXg8.js} +1 -1
- package/web/assets/SettingsPage-4pKUgKPm.css +1 -0
- package/web/assets/SettingsPage-DS2YhMIM.js +2086 -0
- package/web/assets/{UnlockPage-BKAdMJkb.js → UnlockPage-s8SgVcKk.js} +1 -1
- package/web/assets/{VaultMigrationPage-D9KUTTss.js → VaultMigrationPage-s0b44MDM.js} +1 -1
- package/web/assets/{VersionBadge-moKP5bAv.js → VersionBadge-BmArk24p.js} +1 -1
- package/web/assets/{WikiPage-hLUndDxo.js → WikiPage-DADu8WUA.js} +1 -1
- package/web/assets/{WikiView-rrjXRR72.js → WikiView-DtGwIt_Q.js} +1 -1
- package/web/assets/{add-scalar-classes-CBfRr8B2.js → add-scalar-classes-dWEWPlFD.js} +2 -2
- package/web/assets/{agent.store-B3dVemmT.js → agent.store-CKLAkF9a.js} +1 -1
- package/web/assets/app-mode-BVpTuh0i.js +1 -0
- package/web/assets/auth-Cg9BWTfK.js +2 -0
- package/web/assets/{cloud-chat.store-Wg1poFem.js → cloud-chat.store-b-BHGz7I.js} +1 -1
- package/web/assets/{cloud-client-DQlUaoAw.js → cloud-client-D_zCiW0s.js} +2 -2
- package/web/assets/{cloud-session-DRUqcSGP.js → cloud-session-DOaDpZTy.js} +2 -2
- package/web/assets/dist-N4nrnbnA.js +1 -0
- package/web/assets/{editor.store-SoH48ux2.js → editor.store-DCAZSeVG.js} +1 -1
- package/web/assets/i18n-D0afQEGs.js +1 -0
- package/web/assets/{index-D_x2s8Ut.js → index-D8VRbyoP.js} +101 -101
- package/web/assets/index-DsezNbSM.css +1 -0
- package/web/assets/{modal-CpsVK_dA.js → modal-qYgTMkYb.js} +1 -1
- package/web/assets/{project-launch.store-C3fZeRGb.js → project-launch.store-y7JBMNiE.js} +1 -1
- package/web/assets/{project.store-BEk4fciH.js → project.store-DGJr0Qr9.js} +1 -1
- package/web/assets/{scenario.store-D-JrRiVO.js → scenario.store-YWHL2_wu.js} +3 -3
- package/web/assets/{service.store-B5uYZtyM.js → service.store-5jWsJxPx.js} +1 -1
- package/web/assets/{settings-scope-Blnwj3rR.js → settings-scope-Bv7QGPrt.js} +1 -1
- package/web/assets/{settings.store-Bo3FYs1o.js → settings.store-bEsB7oKb.js} +1 -1
- package/web/assets/{src-CAwAaB5j.js → src-C-D_y7ou.js} +1 -1
- package/web/assets/{src-DValZNJU.js → src-Dnwk6NpV.js} +5 -5
- package/web/assets/src-g1DRo8xZ.css +1 -0
- package/web/assets/{trpc-DbsE5GvQ.js → trpc-Drabzwpd.js} +3 -3
- package/web/assets/{useCloudOrg-DygUBG1a.js → useCloudOrg-BAQEtFPl.js} +1 -1
- package/web/assets/{useEnvVarAutocomplete-DmYNOXgd.js → useEnvVarAutocomplete-BqGTODUv.js} +1 -1
- package/web/assets/{useProjectCatalog-D2mHB7dg.js → useProjectCatalog-yocjIKt6.js} +1 -1
- package/web/assets/{useProjectCloudOrg-avTCVold.js → useProjectCloudOrg-CEN9-_OA.js} +1 -1
- package/web/assets/{useServiceUrlHost-Q3fzGox3.js → useServiceUrlHost-BuoPEXZX.js} +1 -1
- package/web/assets/{vue-draggable-plus-WgrMXXmE.js → vue-draggable-plus-DX4rTBiu.js} +1 -1
- package/web/index.html +19 -18
- package/agent-manager-M4NA5YFD.js +0 -11
- package/chat-X3X527EX.js +0 -23
- package/chunk-7HIPFSOA.js.map +0 -1
- package/chunk-NSS47H26.js.map +0 -1
- package/chunk-P73PTVII.js.map +0 -1
- package/chunk-XAFOP677.js.map +0 -1
- package/desktop-installer-page-6JDSXK2E.js.map +0 -1
- package/settings-manager-32SVMAFN.js +0 -10
- package/src-5TEXF3SU.js.map +0 -1
- package/web/assets/AppLayout-CVQIBYqg.js +0 -1
- package/web/assets/DashboardPage-D0UZM0mr.js +0 -1
- package/web/assets/KanbanBoardPage-DRACMk_D.css +0 -1
- package/web/assets/KanbanBoardPage-DwPqoJDJ.js +0 -4
- package/web/assets/LaunchServicesPage-CXUS9O3y.js +0 -1
- package/web/assets/LaunchServicesPage-DJDIN8HU.css +0 -1
- package/web/assets/ScenarioEditorPage-Dl-gEkJI.js +0 -14
- package/web/assets/ServiceDetailPage-CJ8WaFod.js +0 -2
- package/web/assets/SettingsPage-CWakkv0V.js +0 -2086
- package/web/assets/SettingsPage-aGSxZw1n.css +0 -1
- package/web/assets/auth-BCrvnP1U.js +0 -2
- package/web/assets/dist-DoChtT9t.js +0 -1
- package/web/assets/i18n-BszFg0ko.js +0 -1
- package/web/assets/index-C_JV7fYy.css +0 -1
- package/web/assets/src-DuBXN1hu.css +0 -1
- /package/{agent-manager-M4NA5YFD.js.map → agent-manager-R7BPQO6D.js.map} +0 -0
- /package/{chat-X3X527EX.js.map → chat-LPML22J5.js.map} +0 -0
- /package/{chunk-GXE5TLLJ.js.map → chunk-KV4GJKXU.js.map} +0 -0
- /package/{chunk-UR3HL373.js.map → chunk-NPMSBYXC.js.map} +0 -0
- /package/{companion-2LHKU577.js.map → companion-W3UMZWGH.js.map} +0 -0
- /package/{desktop-launcher-YPNRQMIS.js.map → desktop-launcher-GD4QPM66.js.map} +0 -0
- /package/{install-gate-2NNH7RM2.js.map → install-gate-PVMGJDWE.js.map} +0 -0
- /package/{settings-manager-32SVMAFN.js.map → settings-manager-XPLBO35P.js.map} +0 -0
- /package/{vault-resolver-VK6W5J6W.js.map → src-DCCEUWE6.js.map} +0 -0
package/mcp-server/launch.d.ts
CHANGED
|
@@ -61,5 +61,23 @@ declare function claudeMcpArgs(env: RuneyaMcpEnv): string[];
|
|
|
61
61
|
* sous-commande. Une table inline décrit le serveur en une seule surcharge.
|
|
62
62
|
*/
|
|
63
63
|
declare function codexMcpArgs(env: RuneyaMcpEnv): string[];
|
|
64
|
+
/**
|
|
65
|
+
* Les arguments à passer à un `claude` que Runeya lance avec son MCP.
|
|
66
|
+
*
|
|
67
|
+
* Si le serveur interne est introuvable, `claude` chargerait l'entrée `runeya`
|
|
68
|
+
* de `~/.claude.json`, le MCP externe, qui demande un appairage au premier
|
|
69
|
+
* appel d'outil. Ses outils sont alors interdits. `--settings` prend une seule
|
|
70
|
+
* valeur : `--disallowedTools`, variadique, avalerait l'argument suivant.
|
|
71
|
+
*/
|
|
72
|
+
declare function claudeRuneyaMcpArgs(env: RuneyaMcpEnv, build?: (env: RuneyaMcpEnv) => string[], warn?: (message: string) => void): string[];
|
|
73
|
+
/**
|
|
74
|
+
* Les surcharges `-c` à passer à tout `codex` que Runeya lance.
|
|
75
|
+
*
|
|
76
|
+
* Avec un jeton, le serveur interne remplace l'entrée `runeya` de l'utilisateur.
|
|
77
|
+
* Sans jeton, ou si le serveur interne est introuvable, cette entrée est
|
|
78
|
+
* désactivée : c'est le MCP externe (`runeya mcp`), qui demanderait alors un
|
|
79
|
+
* appairage dans l'interface pour une session lancée par Runeya lui-même.
|
|
80
|
+
*/
|
|
81
|
+
declare function codexRuneyaMcpArgs(env: RuneyaMcpEnv, build?: (env: RuneyaMcpEnv) => string[], warn?: (message: string) => void): string[];
|
|
64
82
|
|
|
65
|
-
export { type RuneyaMcpEnv, claudeMcpArgs, codexMcpArgs, resolveMcpServerPath, runeyaMcpConfig };
|
|
83
|
+
export { type RuneyaMcpEnv, claudeMcpArgs, claudeRuneyaMcpArgs, codexMcpArgs, codexRuneyaMcpArgs, resolveMcpServerPath, runeyaMcpConfig };
|
package/mcp-server/launch.js
CHANGED
|
@@ -57,13 +57,33 @@ function codexMcpArgs(env) {
|
|
|
57
57
|
}
|
|
58
58
|
return ["-c", `mcp_servers.runeya={${fields.join(",")}}`];
|
|
59
59
|
}
|
|
60
|
+
function claudeRuneyaMcpArgs(env, build = claudeMcpArgs, warn = console.warn) {
|
|
61
|
+
try {
|
|
62
|
+
return build(env);
|
|
63
|
+
} catch (err) {
|
|
64
|
+
warn(`[claude] Failed to resolve MCP server path: ${err.message}`);
|
|
65
|
+
return ["--settings", JSON.stringify({ permissions: { deny: ["mcp__runeya"] } })];
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
function codexRuneyaMcpArgs(env, build = codexMcpArgs, warn = console.warn) {
|
|
69
|
+
const disabled = ["-c", "mcp_servers.runeya.enabled=false"];
|
|
70
|
+
if (!env.RUNEYA_API_TOKEN) return disabled;
|
|
71
|
+
try {
|
|
72
|
+
return build(env);
|
|
73
|
+
} catch (err) {
|
|
74
|
+
warn(`[codex] Failed to resolve MCP server path: ${err.message}`);
|
|
75
|
+
return disabled;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
60
78
|
function tomlString(value) {
|
|
61
79
|
const escaped = value.replace(/\\/g, "\\\\").replace(/"/g, '\\"').replace(/[\u0000-\u001f\u007f]/g, (c) => `\\u${c.charCodeAt(0).toString(16).padStart(4, "0")}`);
|
|
62
80
|
return `"${escaped}"`;
|
|
63
81
|
}
|
|
64
82
|
export {
|
|
65
83
|
claudeMcpArgs,
|
|
84
|
+
claudeRuneyaMcpArgs,
|
|
66
85
|
codexMcpArgs,
|
|
86
|
+
codexRuneyaMcpArgs,
|
|
67
87
|
resolveMcpServerPath,
|
|
68
88
|
runeyaMcpConfig
|
|
69
89
|
};
|
package/mcp-server/launch.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/launch.ts"],"sourcesContent":["import { fileURLToPath } from 'node:url';\nimport { createRequire } from 'node:module';\nimport { existsSync } from 'node:fs';\n\n/**\n * Comment brancher le serveur MCP Runeya sur un CLI d'IA.\n *\n * Runeya n'installe rien dans la configuration de la machine : il passe sa\n * config MCP en ligne de commande, au moment où il lance lui-même le CLI. Le\n * `~/.claude.json` ou le `~/.codex/config.toml` de l'utilisateur reste intact,\n * et un CLI lancé à la main depuis un terminal ne voit pas ce serveur.\n *\n * Chaque CLI a sa syntaxe — d'où ce module, seule source de vérité partagée par\n * les deux points de lancement (l'agent, et le serveur en mode local).\n */\n\n/** Variables d'environnement que le serveur MCP attend pour joindre Runeya. */\nexport interface RuneyaMcpEnv {\n RUNEYA_BASE_URL?: string;\n RUNEYA_API_TOKEN?: string;\n /**\n * Le projet et l'organisation de la conversation qui lance ce CLI, s'il y en a.\n *\n * Le serveur MCP en fait le défaut des tools qui acceptent un `projectId`,\n * `orgId` ou `organizationId` : sans projet, `list_services` rend toute la\n * machine ; sans organisation, les recherches Kanban ne savent pas quel\n * compte cloud interroger.\n */\n RUNEYA_PROJECT_ID?: string;\n RUNEYA_ORG_ID?: string;\n}\n\n/**\n * Chemin du point d'entrée du serveur MCP, à lancer avec `node`.\n *\n * Ne PAS se fier à `import.meta.url` pour viser `./index.js` : ce module est\n * bundlé dans l'agent et dans le serveur (tsup y bundle les paquets @runeya\n * via `noExternal`), donc\n * `import.meta.url` y désigne le bundle hôte, pas ce paquet. On résout donc le\n * paquet, puis on sonde les emplacements de la version packagée, où les liens\n * symboliques de l'espace de travail n'existent plus.\n */\nexport function resolveMcpServerPath(): string {\n try {\n const req = createRequire(import.meta.url);\n return req.resolve('@runeya/packages-mcp-server');\n } catch { /* pas de node_modules résolvable : on sonde le disque */ }\n\n const candidates = [\n // Build packagé du CLI : dist/agent/index.js et dist/index.js côtoient\n // dist/mcp-server/, copié là par le post-build.\n new URL('../mcp-server/index.js', import.meta.url),\n new URL('./mcp-server/index.js', import.meta.url),\n // Monorepo, depuis un dist d'app.\n new URL('../../../packages/mcp-server/dist/index.js', import.meta.url),\n new URL('../../../../packages/mcp-server/dist/index.js', import.meta.url),\n ];\n for (const c of candidates) {\n const p = fileURLToPath(c);\n if (existsSync(p)) return p;\n }\n throw new Error('Could not locate @runeya/packages-mcp-server (built dist not found)');\n}\n\n/** Ne garde que les variables renseignées : une valeur vide n'aide personne. */\nfunction pickEnv(env: RuneyaMcpEnv): Record<string, string> {\n return {\n ...(env.RUNEYA_BASE_URL ? { RUNEYA_BASE_URL: env.RUNEYA_BASE_URL } : {}),\n ...(env.RUNEYA_API_TOKEN ? { RUNEYA_API_TOKEN: env.RUNEYA_API_TOKEN } : {}),\n ...(env.RUNEYA_PROJECT_ID ? { RUNEYA_PROJECT_ID: env.RUNEYA_PROJECT_ID } : {}),\n ...(env.RUNEYA_ORG_ID ? { RUNEYA_ORG_ID: env.RUNEYA_ORG_ID } : {}),\n };\n}\n\n/**\n * La config MCP de Runeya, au format `mcpServers` attendu par `--mcp-config`.\n *\n * Seul endroit du dépôt où ce JSON se fabrique. `chat.ts` en tenait deux copies\n * qui résolvaient le chemin avec `import.meta.url` — le piège que\n * `resolveMcpServerPath()` documente juste au-dessus : bundlées dans l'app\n * hôte, elles visaient un fichier qui n'existe pas, et le CLI démarrait sans\n * les tools Runeya, en silence.\n */\nexport function runeyaMcpConfig(env: RuneyaMcpEnv): string {\n return JSON.stringify({\n mcpServers: {\n runeya: {\n command: 'node',\n args: [resolveMcpServerPath()],\n env: pickEnv(env),\n },\n },\n });\n}\n\n/**\n * Arguments `--mcp-config` pour le CLI `claude`, qui attend du JSON.\n *\n * Volontairement non strict : le CLI démarre aussi les serveurs MCP de la\n * machine. Cela coûte quelques secondes par lancement, mais l'utilisateur garde\n * ses propres outils.\n */\nexport function claudeMcpArgs(env: RuneyaMcpEnv): string[] {\n return ['--mcp-config', runeyaMcpConfig(env)];\n}\n\n/**\n * Arguments `-c` pour le CLI `codex`, qui attend du TOML.\n *\n * Codex n'a pas d'équivalent de `--mcp-config` : il expose des surcharges de\n * configuration en TOML (`-c chemin.pointé=valeur`), à placer AVANT la\n * sous-commande. Une table inline décrit le serveur en une seule surcharge.\n */\nexport function codexMcpArgs(env: RuneyaMcpEnv): string[] {\n const fields = [\n `command=${tomlString('node')}`,\n `args=[${tomlString(resolveMcpServerPath())}]`,\n ];\n\n const entries = Object.entries(pickEnv(env));\n if (entries.length > 0) {\n const inline = entries.map(([k, v]) => `${k}=${tomlString(v)}`).join(',');\n fields.push(`env={${inline}}`);\n }\n\n return ['-c', `mcp_servers.runeya={${fields.join(',')}}`];\n}\n\n/**\n * Chaîne TOML de base : seuls la contre-oblique et le guillemet doivent être\n * échappés. Les caractères de contrôle, eux, sont interdits par le format — un\n * chemin ou un jeton qui en contiendrait casserait la config en silence.\n */\nfunction tomlString(value: string): string {\n const escaped = value\n .replace(/\\\\/g, '\\\\\\\\')\n .replace(/\"/g, '\\\\\"')\n .replace(/[\\u0000-\\u001f\\u007f]/g, (c) => `\\\\u${c.charCodeAt(0).toString(16).padStart(4, '0')}`);\n return `\"${escaped}\"`;\n}\n"],"mappings":";AAAA,SAAS,qBAAqB;AAC9B,SAAS,qBAAqB;AAC9B,SAAS,kBAAkB;AAwCpB,SAAS,uBAA+B;AAC7C,MAAI;AACF,UAAM,MAAM,cAAc,YAAY,GAAG;AACzC,WAAO,IAAI,QAAQ,6BAA6B;AAAA,EAClD,QAAQ;AAAA,EAA4D;AAEpE,QAAM,aAAa;AAAA;AAAA;AAAA,IAGjB,IAAI,IAAI,0BAA0B,YAAY,GAAG;AAAA,IACjD,IAAI,IAAI,yBAAyB,YAAY,GAAG;AAAA;AAAA,IAEhD,IAAI,IAAI,8CAA8C,YAAY,GAAG;AAAA,IACrE,IAAI,IAAI,iDAAiD,YAAY,GAAG;AAAA,EAC1E;AACA,aAAW,KAAK,YAAY;AAC1B,UAAM,IAAI,cAAc,CAAC;AACzB,QAAI,WAAW,CAAC,EAAG,QAAO;AAAA,EAC5B;AACA,QAAM,IAAI,MAAM,qEAAqE;AACvF;AAGA,SAAS,QAAQ,KAA2C;AAC1D,SAAO;AAAA,IACL,GAAI,IAAI,kBAAkB,EAAE,iBAAiB,IAAI,gBAAgB,IAAI,CAAC;AAAA,IACtE,GAAI,IAAI,mBAAmB,EAAE,kBAAkB,IAAI,iBAAiB,IAAI,CAAC;AAAA,IACzE,GAAI,IAAI,oBAAoB,EAAE,mBAAmB,IAAI,kBAAkB,IAAI,CAAC;AAAA,IAC5E,GAAI,IAAI,gBAAgB,EAAE,eAAe,IAAI,cAAc,IAAI,CAAC;AAAA,EAClE;AACF;AAWO,SAAS,gBAAgB,KAA2B;AACzD,SAAO,KAAK,UAAU;AAAA,IACpB,YAAY;AAAA,MACV,QAAQ;AAAA,QACN,SAAS;AAAA,QACT,MAAM,CAAC,qBAAqB,CAAC;AAAA,QAC7B,KAAK,QAAQ,GAAG;AAAA,MAClB;AAAA,IACF;AAAA,EACF,CAAC;AACH;AASO,SAAS,cAAc,KAA6B;AACzD,SAAO,CAAC,gBAAgB,gBAAgB,GAAG,CAAC;AAC9C;AASO,SAAS,aAAa,KAA6B;AACxD,QAAM,SAAS;AAAA,IACb,WAAW,WAAW,MAAM,CAAC;AAAA,IAC7B,SAAS,WAAW,qBAAqB,CAAC,CAAC;AAAA,EAC7C;AAEA,QAAM,UAAU,OAAO,QAAQ,QAAQ,GAAG,CAAC;AAC3C,MAAI,QAAQ,SAAS,GAAG;AACtB,UAAM,SAAS,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,WAAW,CAAC,CAAC,EAAE,EAAE,KAAK,GAAG;AACxE,WAAO,KAAK,QAAQ,MAAM,GAAG;AAAA,EAC/B;AAEA,SAAO,CAAC,MAAM,uBAAuB,OAAO,KAAK,GAAG,CAAC,GAAG;AAC1D;AAOA,SAAS,WAAW,OAAuB;AACzC,QAAM,UAAU,MACb,QAAQ,OAAO,MAAM,EACrB,QAAQ,MAAM,KAAK,EACnB,QAAQ,0BAA0B,CAAC,MAAM,MAAM,EAAE,WAAW,CAAC,EAAE,SAAS,EAAE,EAAE,SAAS,GAAG,GAAG,CAAC,EAAE;AACjG,SAAO,IAAI,OAAO;AACpB;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../src/launch.ts"],"sourcesContent":["import { fileURLToPath } from 'node:url';\nimport { createRequire } from 'node:module';\nimport { existsSync } from 'node:fs';\n\n/**\n * Comment brancher le serveur MCP Runeya sur un CLI d'IA.\n *\n * Runeya n'installe rien dans la configuration de la machine : il passe sa\n * config MCP en ligne de commande, au moment où il lance lui-même le CLI. Le\n * `~/.claude.json` ou le `~/.codex/config.toml` de l'utilisateur reste intact,\n * et un CLI lancé à la main depuis un terminal ne voit pas ce serveur.\n *\n * Chaque CLI a sa syntaxe — d'où ce module, seule source de vérité partagée par\n * les deux points de lancement (l'agent, et le serveur en mode local).\n */\n\n/** Variables d'environnement que le serveur MCP attend pour joindre Runeya. */\nexport interface RuneyaMcpEnv {\n RUNEYA_BASE_URL?: string;\n RUNEYA_API_TOKEN?: string;\n /**\n * Le projet et l'organisation de la conversation qui lance ce CLI, s'il y en a.\n *\n * Le serveur MCP en fait le défaut des tools qui acceptent un `projectId`,\n * `orgId` ou `organizationId` : sans projet, `list_services` rend toute la\n * machine ; sans organisation, les recherches Kanban ne savent pas quel\n * compte cloud interroger.\n */\n RUNEYA_PROJECT_ID?: string;\n RUNEYA_ORG_ID?: string;\n}\n\n/**\n * Chemin du point d'entrée du serveur MCP, à lancer avec `node`.\n *\n * Ne PAS se fier à `import.meta.url` pour viser `./index.js` : ce module est\n * bundlé dans l'agent et dans le serveur (tsup y bundle les paquets @runeya\n * via `noExternal`), donc\n * `import.meta.url` y désigne le bundle hôte, pas ce paquet. On résout donc le\n * paquet, puis on sonde les emplacements de la version packagée, où les liens\n * symboliques de l'espace de travail n'existent plus.\n */\nexport function resolveMcpServerPath(): string {\n try {\n const req = createRequire(import.meta.url);\n return req.resolve('@runeya/packages-mcp-server');\n } catch { /* pas de node_modules résolvable : on sonde le disque */ }\n\n const candidates = [\n // Build packagé du CLI : dist/agent/index.js et dist/index.js côtoient\n // dist/mcp-server/, copié là par le post-build.\n new URL('../mcp-server/index.js', import.meta.url),\n new URL('./mcp-server/index.js', import.meta.url),\n // Monorepo, depuis un dist d'app.\n new URL('../../../packages/mcp-server/dist/index.js', import.meta.url),\n new URL('../../../../packages/mcp-server/dist/index.js', import.meta.url),\n ];\n for (const c of candidates) {\n const p = fileURLToPath(c);\n if (existsSync(p)) return p;\n }\n throw new Error('Could not locate @runeya/packages-mcp-server (built dist not found)');\n}\n\n/** Ne garde que les variables renseignées : une valeur vide n'aide personne. */\nfunction pickEnv(env: RuneyaMcpEnv): Record<string, string> {\n return {\n ...(env.RUNEYA_BASE_URL ? { RUNEYA_BASE_URL: env.RUNEYA_BASE_URL } : {}),\n ...(env.RUNEYA_API_TOKEN ? { RUNEYA_API_TOKEN: env.RUNEYA_API_TOKEN } : {}),\n ...(env.RUNEYA_PROJECT_ID ? { RUNEYA_PROJECT_ID: env.RUNEYA_PROJECT_ID } : {}),\n ...(env.RUNEYA_ORG_ID ? { RUNEYA_ORG_ID: env.RUNEYA_ORG_ID } : {}),\n };\n}\n\n/**\n * La config MCP de Runeya, au format `mcpServers` attendu par `--mcp-config`.\n *\n * Seul endroit du dépôt où ce JSON se fabrique. `chat.ts` en tenait deux copies\n * qui résolvaient le chemin avec `import.meta.url` — le piège que\n * `resolveMcpServerPath()` documente juste au-dessus : bundlées dans l'app\n * hôte, elles visaient un fichier qui n'existe pas, et le CLI démarrait sans\n * les tools Runeya, en silence.\n */\nexport function runeyaMcpConfig(env: RuneyaMcpEnv): string {\n return JSON.stringify({\n mcpServers: {\n runeya: {\n command: 'node',\n args: [resolveMcpServerPath()],\n env: pickEnv(env),\n },\n },\n });\n}\n\n/**\n * Arguments `--mcp-config` pour le CLI `claude`, qui attend du JSON.\n *\n * Volontairement non strict : le CLI démarre aussi les serveurs MCP de la\n * machine. Cela coûte quelques secondes par lancement, mais l'utilisateur garde\n * ses propres outils.\n */\nexport function claudeMcpArgs(env: RuneyaMcpEnv): string[] {\n return ['--mcp-config', runeyaMcpConfig(env)];\n}\n\n/**\n * Arguments `-c` pour le CLI `codex`, qui attend du TOML.\n *\n * Codex n'a pas d'équivalent de `--mcp-config` : il expose des surcharges de\n * configuration en TOML (`-c chemin.pointé=valeur`), à placer AVANT la\n * sous-commande. Une table inline décrit le serveur en une seule surcharge.\n */\nexport function codexMcpArgs(env: RuneyaMcpEnv): string[] {\n const fields = [\n `command=${tomlString('node')}`,\n `args=[${tomlString(resolveMcpServerPath())}]`,\n ];\n\n const entries = Object.entries(pickEnv(env));\n if (entries.length > 0) {\n const inline = entries.map(([k, v]) => `${k}=${tomlString(v)}`).join(',');\n fields.push(`env={${inline}}`);\n }\n\n return ['-c', `mcp_servers.runeya={${fields.join(',')}}`];\n}\n\n/**\n * Les arguments à passer à un `claude` que Runeya lance avec son MCP.\n *\n * Si le serveur interne est introuvable, `claude` chargerait l'entrée `runeya`\n * de `~/.claude.json`, le MCP externe, qui demande un appairage au premier\n * appel d'outil. Ses outils sont alors interdits. `--settings` prend une seule\n * valeur : `--disallowedTools`, variadique, avalerait l'argument suivant.\n */\nexport function claudeRuneyaMcpArgs(\n env: RuneyaMcpEnv,\n build: (env: RuneyaMcpEnv) => string[] = claudeMcpArgs,\n warn: (message: string) => void = console.warn,\n): string[] {\n try {\n return build(env);\n } catch (err) {\n warn(`[claude] Failed to resolve MCP server path: ${(err as Error).message}`);\n return ['--settings', JSON.stringify({ permissions: { deny: ['mcp__runeya'] } })];\n }\n}\n\n/**\n * Les surcharges `-c` à passer à tout `codex` que Runeya lance.\n *\n * Avec un jeton, le serveur interne remplace l'entrée `runeya` de l'utilisateur.\n * Sans jeton, ou si le serveur interne est introuvable, cette entrée est\n * désactivée : c'est le MCP externe (`runeya mcp`), qui demanderait alors un\n * appairage dans l'interface pour une session lancée par Runeya lui-même.\n */\nexport function codexRuneyaMcpArgs(\n env: RuneyaMcpEnv,\n build: (env: RuneyaMcpEnv) => string[] = codexMcpArgs,\n warn: (message: string) => void = console.warn,\n): string[] {\n const disabled = ['-c', 'mcp_servers.runeya.enabled=false'];\n if (!env.RUNEYA_API_TOKEN) return disabled;\n try {\n return build(env);\n } catch (err) {\n warn(`[codex] Failed to resolve MCP server path: ${(err as Error).message}`);\n return disabled;\n }\n}\n\n/**\n * Chaîne TOML de base : seuls la contre-oblique et le guillemet doivent être\n * échappés. Les caractères de contrôle, eux, sont interdits par le format — un\n * chemin ou un jeton qui en contiendrait casserait la config en silence.\n */\nfunction tomlString(value: string): string {\n const escaped = value\n .replace(/\\\\/g, '\\\\\\\\')\n .replace(/\"/g, '\\\\\"')\n .replace(/[\\u0000-\\u001f\\u007f]/g, (c) => `\\\\u${c.charCodeAt(0).toString(16).padStart(4, '0')}`);\n return `\"${escaped}\"`;\n}\n"],"mappings":"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","names":[]}
|
package/package.json
CHANGED
package/src-DCCEUWE6.js
ADDED
|
@@ -0,0 +1,385 @@
|
|
|
1
|
+
import {
|
|
2
|
+
AGENT_FETCH_TIMEOUT,
|
|
3
|
+
AGENT_HEALTH_POLL_INTERVAL,
|
|
4
|
+
AGENT_LONG_FETCH_TIMEOUT,
|
|
5
|
+
AGENT_STOP_FETCH_TIMEOUT,
|
|
6
|
+
AIProviderSchema,
|
|
7
|
+
AI_PROVIDERS,
|
|
8
|
+
ALLOWED_IMAGE_MIME_TYPES,
|
|
9
|
+
AgentConfigSchema,
|
|
10
|
+
AgentStatusSchema,
|
|
11
|
+
ApiEnvActionSchema,
|
|
12
|
+
ApiEnvPermSchema,
|
|
13
|
+
ApiKeySchema,
|
|
14
|
+
ApiKeyScopeSchema,
|
|
15
|
+
ApiKeysFileSchema,
|
|
16
|
+
ApiServiceActionSchema,
|
|
17
|
+
ApiServicePermSchema,
|
|
18
|
+
AuditActionSchema,
|
|
19
|
+
AuditEntityTypeSchema,
|
|
20
|
+
AuditLogSchema,
|
|
21
|
+
BUILTINS_BY_SCOPE,
|
|
22
|
+
BUILTIN_VARIABLES,
|
|
23
|
+
BootstrapCommandSchema,
|
|
24
|
+
CLAUDE_CODE_MODELS,
|
|
25
|
+
CLI_EFFORTS,
|
|
26
|
+
CLOUD_API_KEY_PREFIX,
|
|
27
|
+
CLOUD_API_SCOPES,
|
|
28
|
+
COMPANION_RELAY_CLOSE,
|
|
29
|
+
COMPANION_RELAY_OPEN,
|
|
30
|
+
CardConversationSchema,
|
|
31
|
+
ChangelogChangeKindSchema,
|
|
32
|
+
ChangelogChangeSchema,
|
|
33
|
+
ChangelogDraftSchema,
|
|
34
|
+
ChangelogIndexItemSchema,
|
|
35
|
+
ChangelogReleaseSchema,
|
|
36
|
+
ChangelogSurfaceSchema,
|
|
37
|
+
ChangelogTextSchema,
|
|
38
|
+
CloudApiKeySchema,
|
|
39
|
+
CloudApiKeySecretSchema,
|
|
40
|
+
CloudApiScopeSchema,
|
|
41
|
+
CompanionSettingsSchema,
|
|
42
|
+
ConfigChangeSchema,
|
|
43
|
+
ConfigVersionSchema,
|
|
44
|
+
ConsoleLogSourceSchema,
|
|
45
|
+
ConversationSearchHitSchema,
|
|
46
|
+
CreateCloudApiKeyInput,
|
|
47
|
+
CreateEnvironmentSchema,
|
|
48
|
+
CreateKanbanBoardInput,
|
|
49
|
+
CreateProjectSchema,
|
|
50
|
+
CreateServiceSchema,
|
|
51
|
+
CreatedCloudApiKeySchema,
|
|
52
|
+
DockerConfigSchema,
|
|
53
|
+
EDITOR_BY_KEY,
|
|
54
|
+
ENV_VAR_NAME_REGEX,
|
|
55
|
+
EnvironmentOverridesSchema,
|
|
56
|
+
EnvironmentSchema,
|
|
57
|
+
EnvironmentVariablesSchema,
|
|
58
|
+
FileLogSourceSchema,
|
|
59
|
+
GLOBAL_ROLES,
|
|
60
|
+
GRACE_PERIOD,
|
|
61
|
+
GlobalRoleSchema,
|
|
62
|
+
HEALTH_CHECK_INITIAL_DELAY,
|
|
63
|
+
HEALTH_CHECK_INTERVAL,
|
|
64
|
+
HEALTH_WS_INTERVAL,
|
|
65
|
+
HealthCheckSchema,
|
|
66
|
+
HealthStatusSchema,
|
|
67
|
+
ImageMetaSchema,
|
|
68
|
+
ImagePartSchema,
|
|
69
|
+
ImageUploadResponseSchema,
|
|
70
|
+
IntegrationConnectionSchema,
|
|
71
|
+
IntegrationConversationSchema,
|
|
72
|
+
IntegrationConversationStateSchema,
|
|
73
|
+
IntegrationMessageSchema,
|
|
74
|
+
IntegrationProviderSchema,
|
|
75
|
+
JSLogParser,
|
|
76
|
+
JSLogParserSchema,
|
|
77
|
+
KanbanAttachmentSchema,
|
|
78
|
+
KanbanBoardEventTypeSchema,
|
|
79
|
+
KanbanBoardHistoryEntrySchema,
|
|
80
|
+
KanbanBoardSchema,
|
|
81
|
+
KanbanCardEventSchema,
|
|
82
|
+
KanbanCardLinkSchema,
|
|
83
|
+
KanbanCardLocationSchema,
|
|
84
|
+
KanbanCardRefSchema,
|
|
85
|
+
KanbanCardSchema,
|
|
86
|
+
KanbanColumnGroupSchema,
|
|
87
|
+
KanbanColumnSchema,
|
|
88
|
+
LAUNCHER_PROJECT_ID_PATTERN,
|
|
89
|
+
LOG_BUFFER_SIZE,
|
|
90
|
+
LOG_DISPLAY_LIMIT,
|
|
91
|
+
LOG_LEVELS,
|
|
92
|
+
LOG_LEVEL_PRIORITY,
|
|
93
|
+
LogCardDirectiveSchema,
|
|
94
|
+
LogLevelSchema,
|
|
95
|
+
LogLineSchema,
|
|
96
|
+
LogSourceConfigSchema,
|
|
97
|
+
MASKED_VALUE,
|
|
98
|
+
METRICS_INTERVAL,
|
|
99
|
+
MaskedApiKeySchema,
|
|
100
|
+
MissingVariableReasonSchema,
|
|
101
|
+
MissingVariableSchema,
|
|
102
|
+
MongoLogSourceSchema,
|
|
103
|
+
MySQLLogSourceSchema,
|
|
104
|
+
NOTIFICATION_CATEGORIES,
|
|
105
|
+
NotificationPreferencesSchema,
|
|
106
|
+
OrgMemberSchema,
|
|
107
|
+
OrgSchema,
|
|
108
|
+
PASSPHRASE_TIMEOUT,
|
|
109
|
+
PROCESS_STATES,
|
|
110
|
+
PROJECT_ROLES,
|
|
111
|
+
ParsedLogSchema,
|
|
112
|
+
PersistedApiKeySchema,
|
|
113
|
+
ProcessMetricsSchema,
|
|
114
|
+
ProcessStateSchema,
|
|
115
|
+
ProcessStatusSchema,
|
|
116
|
+
ProjectMemberRoleSchema,
|
|
117
|
+
ProjectRoleSchema,
|
|
118
|
+
ProjectSchema,
|
|
119
|
+
ResolvedEnvironmentSchema,
|
|
120
|
+
RestartStrategySchema,
|
|
121
|
+
SCENARIO_ROLES,
|
|
122
|
+
SEARCH_DEBOUNCE,
|
|
123
|
+
SUBSCRIPTION_RETRY_BASE,
|
|
124
|
+
SUPPORTED_EDITORS,
|
|
125
|
+
ScenarioGroupSchema,
|
|
126
|
+
ScenarioNodeSchema,
|
|
127
|
+
ScenarioPresetInitialDataSchema,
|
|
128
|
+
ScenarioPresetLabelsSchema,
|
|
129
|
+
ScenarioPresetRoleSchema,
|
|
130
|
+
ScenarioPresetSchema,
|
|
131
|
+
ScenarioSchema,
|
|
132
|
+
SchemaVersionSchema,
|
|
133
|
+
ServiceCommandSchema,
|
|
134
|
+
ServiceConfigSchema,
|
|
135
|
+
ServiceShortcutSchema,
|
|
136
|
+
SettingsPrivateSchema,
|
|
137
|
+
SettingsSchema,
|
|
138
|
+
SyncStatusSchema,
|
|
139
|
+
TraefikConfigSchema,
|
|
140
|
+
UpdateCloudApiKeyInput,
|
|
141
|
+
UpdateEnvironmentSchema,
|
|
142
|
+
UpdateKanbanBoardInput,
|
|
143
|
+
UpdateProjectSchema,
|
|
144
|
+
UpdateServiceSchema,
|
|
145
|
+
UserSchema,
|
|
146
|
+
VariableOverrideSchema,
|
|
147
|
+
VariableSchema,
|
|
148
|
+
VariableSlotSchema,
|
|
149
|
+
VariableSlotsRecordSchema,
|
|
150
|
+
VariablesRecordSchema,
|
|
151
|
+
WS_RECONNECT_MAX,
|
|
152
|
+
WS_RECONNECT_MAX_ATTEMPTS,
|
|
153
|
+
WS_RECONNECT_MIN,
|
|
154
|
+
ambiguousServiceSlugs,
|
|
155
|
+
applyToArray,
|
|
156
|
+
applyToMap,
|
|
157
|
+
compareChangelogVersions,
|
|
158
|
+
crossServiceSlugsIn,
|
|
159
|
+
crossServiceValues,
|
|
160
|
+
decrypt,
|
|
161
|
+
deriveKey,
|
|
162
|
+
deriveLauncherIdentity,
|
|
163
|
+
encrypt,
|
|
164
|
+
extractCompanionRelay,
|
|
165
|
+
findUnresolvedReferences,
|
|
166
|
+
getCollection,
|
|
167
|
+
getNativeParser,
|
|
168
|
+
interpolateBuiltins,
|
|
169
|
+
interpolateBuiltinsInEnv,
|
|
170
|
+
isEncrypted,
|
|
171
|
+
isLauncherProjectId,
|
|
172
|
+
isSharedWithAi,
|
|
173
|
+
isWildcardHost,
|
|
174
|
+
launcherIdFromName,
|
|
175
|
+
launcherNameFor,
|
|
176
|
+
maskLogSourceSecrets,
|
|
177
|
+
nativeParsers,
|
|
178
|
+
normalize,
|
|
179
|
+
primaryServiceLink,
|
|
180
|
+
readEntity,
|
|
181
|
+
restoreLogSourceSecrets,
|
|
182
|
+
serviceLinks,
|
|
183
|
+
servicePortValues,
|
|
184
|
+
serviceSlug,
|
|
185
|
+
serviceUrlValues,
|
|
186
|
+
slugifyLauncherName,
|
|
187
|
+
suggestBuiltinReferences,
|
|
188
|
+
toPlain,
|
|
189
|
+
urlHostFor,
|
|
190
|
+
withDeprecatedAliases,
|
|
191
|
+
writeEntity
|
|
192
|
+
} from "./chunk-MZSDTA4A.js";
|
|
193
|
+
export {
|
|
194
|
+
AGENT_FETCH_TIMEOUT,
|
|
195
|
+
AGENT_HEALTH_POLL_INTERVAL,
|
|
196
|
+
AGENT_LONG_FETCH_TIMEOUT,
|
|
197
|
+
AGENT_STOP_FETCH_TIMEOUT,
|
|
198
|
+
AIProviderSchema,
|
|
199
|
+
AI_PROVIDERS,
|
|
200
|
+
ALLOWED_IMAGE_MIME_TYPES,
|
|
201
|
+
AgentConfigSchema,
|
|
202
|
+
AgentStatusSchema,
|
|
203
|
+
ApiEnvActionSchema,
|
|
204
|
+
ApiEnvPermSchema,
|
|
205
|
+
ApiKeySchema,
|
|
206
|
+
ApiKeyScopeSchema,
|
|
207
|
+
ApiKeysFileSchema,
|
|
208
|
+
ApiServiceActionSchema,
|
|
209
|
+
ApiServicePermSchema,
|
|
210
|
+
AuditActionSchema,
|
|
211
|
+
AuditEntityTypeSchema,
|
|
212
|
+
AuditLogSchema,
|
|
213
|
+
BUILTINS_BY_SCOPE,
|
|
214
|
+
BUILTIN_VARIABLES,
|
|
215
|
+
BootstrapCommandSchema,
|
|
216
|
+
CLAUDE_CODE_MODELS,
|
|
217
|
+
CLI_EFFORTS,
|
|
218
|
+
CLOUD_API_KEY_PREFIX,
|
|
219
|
+
CLOUD_API_SCOPES,
|
|
220
|
+
COMPANION_RELAY_CLOSE,
|
|
221
|
+
COMPANION_RELAY_OPEN,
|
|
222
|
+
CardConversationSchema,
|
|
223
|
+
ChangelogChangeKindSchema,
|
|
224
|
+
ChangelogChangeSchema,
|
|
225
|
+
ChangelogDraftSchema,
|
|
226
|
+
ChangelogIndexItemSchema,
|
|
227
|
+
ChangelogReleaseSchema,
|
|
228
|
+
ChangelogSurfaceSchema,
|
|
229
|
+
ChangelogTextSchema,
|
|
230
|
+
CloudApiKeySchema,
|
|
231
|
+
CloudApiKeySecretSchema,
|
|
232
|
+
CloudApiScopeSchema,
|
|
233
|
+
CompanionSettingsSchema,
|
|
234
|
+
ConfigChangeSchema,
|
|
235
|
+
ConfigVersionSchema,
|
|
236
|
+
ConsoleLogSourceSchema,
|
|
237
|
+
ConversationSearchHitSchema,
|
|
238
|
+
CreateCloudApiKeyInput,
|
|
239
|
+
CreateEnvironmentSchema,
|
|
240
|
+
CreateKanbanBoardInput,
|
|
241
|
+
CreateProjectSchema,
|
|
242
|
+
CreateServiceSchema,
|
|
243
|
+
CreatedCloudApiKeySchema,
|
|
244
|
+
DockerConfigSchema,
|
|
245
|
+
EDITOR_BY_KEY,
|
|
246
|
+
ENV_VAR_NAME_REGEX,
|
|
247
|
+
EnvironmentOverridesSchema,
|
|
248
|
+
EnvironmentSchema,
|
|
249
|
+
EnvironmentVariablesSchema,
|
|
250
|
+
FileLogSourceSchema,
|
|
251
|
+
GLOBAL_ROLES,
|
|
252
|
+
GRACE_PERIOD,
|
|
253
|
+
GlobalRoleSchema,
|
|
254
|
+
HEALTH_CHECK_INITIAL_DELAY,
|
|
255
|
+
HEALTH_CHECK_INTERVAL,
|
|
256
|
+
HEALTH_WS_INTERVAL,
|
|
257
|
+
HealthCheckSchema,
|
|
258
|
+
HealthStatusSchema,
|
|
259
|
+
ImageMetaSchema,
|
|
260
|
+
ImagePartSchema,
|
|
261
|
+
ImageUploadResponseSchema,
|
|
262
|
+
IntegrationConnectionSchema,
|
|
263
|
+
IntegrationConversationSchema,
|
|
264
|
+
IntegrationConversationStateSchema,
|
|
265
|
+
IntegrationMessageSchema,
|
|
266
|
+
IntegrationProviderSchema,
|
|
267
|
+
JSLogParser,
|
|
268
|
+
JSLogParserSchema,
|
|
269
|
+
KanbanAttachmentSchema,
|
|
270
|
+
KanbanBoardEventTypeSchema,
|
|
271
|
+
KanbanBoardHistoryEntrySchema,
|
|
272
|
+
KanbanBoardSchema,
|
|
273
|
+
KanbanCardEventSchema,
|
|
274
|
+
KanbanCardLinkSchema,
|
|
275
|
+
KanbanCardLocationSchema,
|
|
276
|
+
KanbanCardRefSchema,
|
|
277
|
+
KanbanCardSchema,
|
|
278
|
+
KanbanColumnGroupSchema,
|
|
279
|
+
KanbanColumnSchema,
|
|
280
|
+
LAUNCHER_PROJECT_ID_PATTERN,
|
|
281
|
+
LOG_BUFFER_SIZE,
|
|
282
|
+
LOG_DISPLAY_LIMIT,
|
|
283
|
+
LOG_LEVELS,
|
|
284
|
+
LOG_LEVEL_PRIORITY,
|
|
285
|
+
LogCardDirectiveSchema,
|
|
286
|
+
LogLevelSchema,
|
|
287
|
+
LogLineSchema,
|
|
288
|
+
LogSourceConfigSchema,
|
|
289
|
+
MASKED_VALUE,
|
|
290
|
+
METRICS_INTERVAL,
|
|
291
|
+
MaskedApiKeySchema,
|
|
292
|
+
MissingVariableReasonSchema,
|
|
293
|
+
MissingVariableSchema,
|
|
294
|
+
MongoLogSourceSchema,
|
|
295
|
+
MySQLLogSourceSchema,
|
|
296
|
+
NOTIFICATION_CATEGORIES,
|
|
297
|
+
NotificationPreferencesSchema,
|
|
298
|
+
OrgMemberSchema,
|
|
299
|
+
OrgSchema,
|
|
300
|
+
PASSPHRASE_TIMEOUT,
|
|
301
|
+
PROCESS_STATES,
|
|
302
|
+
PROJECT_ROLES,
|
|
303
|
+
ParsedLogSchema,
|
|
304
|
+
PersistedApiKeySchema,
|
|
305
|
+
ProcessMetricsSchema,
|
|
306
|
+
ProcessStateSchema,
|
|
307
|
+
ProcessStatusSchema,
|
|
308
|
+
ProjectMemberRoleSchema,
|
|
309
|
+
ProjectRoleSchema,
|
|
310
|
+
ProjectSchema,
|
|
311
|
+
ResolvedEnvironmentSchema,
|
|
312
|
+
RestartStrategySchema,
|
|
313
|
+
SCENARIO_ROLES,
|
|
314
|
+
SEARCH_DEBOUNCE,
|
|
315
|
+
SUBSCRIPTION_RETRY_BASE,
|
|
316
|
+
SUPPORTED_EDITORS,
|
|
317
|
+
ScenarioGroupSchema,
|
|
318
|
+
ScenarioNodeSchema,
|
|
319
|
+
ScenarioPresetInitialDataSchema,
|
|
320
|
+
ScenarioPresetLabelsSchema,
|
|
321
|
+
ScenarioPresetRoleSchema,
|
|
322
|
+
ScenarioPresetSchema,
|
|
323
|
+
ScenarioSchema,
|
|
324
|
+
SchemaVersionSchema,
|
|
325
|
+
ServiceCommandSchema,
|
|
326
|
+
ServiceConfigSchema,
|
|
327
|
+
ServiceShortcutSchema,
|
|
328
|
+
SettingsPrivateSchema,
|
|
329
|
+
SettingsSchema,
|
|
330
|
+
SyncStatusSchema,
|
|
331
|
+
TraefikConfigSchema,
|
|
332
|
+
UpdateCloudApiKeyInput,
|
|
333
|
+
UpdateEnvironmentSchema,
|
|
334
|
+
UpdateKanbanBoardInput,
|
|
335
|
+
UpdateProjectSchema,
|
|
336
|
+
UpdateServiceSchema,
|
|
337
|
+
UserSchema,
|
|
338
|
+
VariableOverrideSchema,
|
|
339
|
+
VariableSchema,
|
|
340
|
+
VariableSlotSchema,
|
|
341
|
+
VariableSlotsRecordSchema,
|
|
342
|
+
VariablesRecordSchema,
|
|
343
|
+
WS_RECONNECT_MAX,
|
|
344
|
+
WS_RECONNECT_MAX_ATTEMPTS,
|
|
345
|
+
WS_RECONNECT_MIN,
|
|
346
|
+
ambiguousServiceSlugs,
|
|
347
|
+
applyToArray,
|
|
348
|
+
applyToMap,
|
|
349
|
+
compareChangelogVersions,
|
|
350
|
+
crossServiceSlugsIn,
|
|
351
|
+
crossServiceValues,
|
|
352
|
+
decrypt,
|
|
353
|
+
deriveKey,
|
|
354
|
+
deriveLauncherIdentity,
|
|
355
|
+
encrypt,
|
|
356
|
+
extractCompanionRelay,
|
|
357
|
+
findUnresolvedReferences,
|
|
358
|
+
getCollection,
|
|
359
|
+
getNativeParser,
|
|
360
|
+
interpolateBuiltins,
|
|
361
|
+
interpolateBuiltinsInEnv,
|
|
362
|
+
isEncrypted,
|
|
363
|
+
isLauncherProjectId,
|
|
364
|
+
isSharedWithAi,
|
|
365
|
+
isWildcardHost,
|
|
366
|
+
launcherIdFromName,
|
|
367
|
+
launcherNameFor,
|
|
368
|
+
maskLogSourceSecrets,
|
|
369
|
+
nativeParsers,
|
|
370
|
+
normalize,
|
|
371
|
+
primaryServiceLink,
|
|
372
|
+
readEntity,
|
|
373
|
+
restoreLogSourceSecrets,
|
|
374
|
+
serviceLinks,
|
|
375
|
+
servicePortValues,
|
|
376
|
+
serviceSlug,
|
|
377
|
+
serviceUrlValues,
|
|
378
|
+
slugifyLauncherName,
|
|
379
|
+
suggestBuiltinReferences,
|
|
380
|
+
toPlain,
|
|
381
|
+
urlHostFor,
|
|
382
|
+
withDeprecatedAliases,
|
|
383
|
+
writeEntity
|
|
384
|
+
};
|
|
385
|
+
//# sourceMappingURL=src-DCCEUWE6.js.map
|