@aitne/daemon 0.1.2 → 0.1.4
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/LICENSE +21 -0
- package/dist/adapters/whatsapp-adapter.d.ts.map +1 -1
- package/dist/adapters/whatsapp-adapter.js +0 -1
- package/dist/adapters/whatsapp-adapter.js.map +1 -1
- package/dist/api/integration-route-gate.d.ts +15 -11
- package/dist/api/integration-route-gate.d.ts.map +1 -1
- package/dist/api/integration-route-gate.js +60 -23
- package/dist/api/integration-route-gate.js.map +1 -1
- package/dist/api/json-body.d.ts +22 -7
- package/dist/api/json-body.d.ts.map +1 -1
- package/dist/api/json-body.js +27 -8
- package/dist/api/json-body.js.map +1 -1
- package/dist/api/routes/agent.d.ts.map +1 -1
- package/dist/api/routes/agent.js +18 -0
- package/dist/api/routes/agent.js.map +1 -1
- package/dist/api/routes/backends.d.ts.map +1 -1
- package/dist/api/routes/backends.js +96 -1
- package/dist/api/routes/backends.js.map +1 -1
- package/dist/api/routes/books.js +1 -1
- package/dist/api/routes/books.js.map +1 -1
- package/dist/api/routes/context.d.ts.map +1 -1
- package/dist/api/routes/context.js +13 -1
- package/dist/api/routes/context.js.map +1 -1
- package/dist/api/routes/dashboard.d.ts.map +1 -1
- package/dist/api/routes/dashboard.js +75 -5
- package/dist/api/routes/dashboard.js.map +1 -1
- package/dist/api/routes/github.d.ts.map +1 -1
- package/dist/api/routes/github.js +38 -5
- package/dist/api/routes/github.js.map +1 -1
- package/dist/api/routes/integrations.d.ts +35 -6
- package/dist/api/routes/integrations.d.ts.map +1 -1
- package/dist/api/routes/integrations.js +191 -16
- package/dist/api/routes/integrations.js.map +1 -1
- package/dist/api/routes/mail.d.ts.map +1 -1
- package/dist/api/routes/mail.js +112 -46
- package/dist/api/routes/mail.js.map +1 -1
- package/dist/api/routes/observations.d.ts.map +1 -1
- package/dist/api/routes/observations.js +161 -8
- package/dist/api/routes/observations.js.map +1 -1
- package/dist/api/routes/setup-migrate.d.ts +9 -1
- package/dist/api/routes/setup-migrate.d.ts.map +1 -1
- package/dist/api/routes/setup-migrate.js +4 -2
- package/dist/api/routes/setup-migrate.js.map +1 -1
- package/dist/api/routes/skills.d.ts.map +1 -1
- package/dist/api/routes/skills.js +39 -1
- package/dist/api/routes/skills.js.map +1 -1
- package/dist/api/routes/voice.d.ts.map +1 -1
- package/dist/api/routes/voice.js +154 -14
- package/dist/api/routes/voice.js.map +1 -1
- package/dist/bootstrap/adapters.d.ts +109 -0
- package/dist/bootstrap/adapters.d.ts.map +1 -0
- package/dist/bootstrap/adapters.js +237 -0
- package/dist/bootstrap/adapters.js.map +1 -0
- package/dist/bootstrap/catchup.d.ts +23 -0
- package/dist/bootstrap/catchup.d.ts.map +1 -0
- package/dist/bootstrap/catchup.js +124 -0
- package/dist/bootstrap/catchup.js.map +1 -0
- package/dist/bootstrap/schedule-helpers.d.ts +18 -0
- package/dist/bootstrap/schedule-helpers.d.ts.map +1 -0
- package/dist/bootstrap/schedule-helpers.js +96 -0
- package/dist/bootstrap/schedule-helpers.js.map +1 -0
- package/dist/bootstrap/services.d.ts +60 -0
- package/dist/bootstrap/services.d.ts.map +1 -0
- package/dist/bootstrap/services.js +209 -0
- package/dist/bootstrap/services.js.map +1 -0
- package/dist/core/backends/backend-router.d.ts +23 -0
- package/dist/core/backends/backend-router.d.ts.map +1 -1
- package/dist/core/backends/backend-router.js +48 -3
- package/dist/core/backends/backend-router.js.map +1 -1
- package/dist/core/backends/claude-auth.d.ts +70 -0
- package/dist/core/backends/claude-auth.d.ts.map +1 -0
- package/dist/core/backends/claude-auth.js +198 -0
- package/dist/core/backends/claude-auth.js.map +1 -0
- package/dist/core/backends/claude-code-core.d.ts +47 -119
- package/dist/core/backends/claude-code-core.d.ts.map +1 -1
- package/dist/core/backends/claude-code-core.js +112 -1565
- package/dist/core/backends/claude-code-core.js.map +1 -1
- package/dist/core/backends/claude-delegated.d.ts +86 -0
- package/dist/core/backends/claude-delegated.d.ts.map +1 -0
- package/dist/core/backends/claude-delegated.js +801 -0
- package/dist/core/backends/claude-delegated.js.map +1 -0
- package/dist/core/backends/claude-errors.d.ts +39 -0
- package/dist/core/backends/claude-errors.d.ts.map +1 -0
- package/dist/core/backends/claude-errors.js +71 -0
- package/dist/core/backends/claude-errors.js.map +1 -0
- package/dist/core/backends/claude-probe.d.ts +103 -0
- package/dist/core/backends/claude-probe.d.ts.map +1 -0
- package/dist/core/backends/claude-probe.js +336 -0
- package/dist/core/backends/claude-probe.js.map +1 -0
- package/dist/core/backends/claude-tool-collection.d.ts +135 -0
- package/dist/core/backends/claude-tool-collection.d.ts.map +1 -0
- package/dist/core/backends/claude-tool-collection.js +831 -0
- package/dist/core/backends/claude-tool-collection.js.map +1 -0
- package/dist/core/backends/gemini-cli-core.d.ts +21 -0
- package/dist/core/backends/gemini-cli-core.d.ts.map +1 -1
- package/dist/core/backends/gemini-cli-core.js +84 -6
- package/dist/core/backends/gemini-cli-core.js.map +1 -1
- package/dist/core/backends/prompt-utils.d.ts +1 -0
- package/dist/core/backends/prompt-utils.d.ts.map +1 -1
- package/dist/core/backends/prompt-utils.js +60 -3
- package/dist/core/backends/prompt-utils.js.map +1 -1
- package/dist/core/context-builder.d.ts +36 -12
- package/dist/core/context-builder.d.ts.map +1 -1
- package/dist/core/context-builder.js +179 -89
- package/dist/core/context-builder.js.map +1 -1
- package/dist/core/dispatcher-date-utils.d.ts +49 -0
- package/dist/core/dispatcher-date-utils.d.ts.map +1 -0
- package/dist/core/dispatcher-date-utils.js +132 -0
- package/dist/core/dispatcher-date-utils.js.map +1 -0
- package/dist/core/dispatcher-error-handling.d.ts +159 -0
- package/dist/core/dispatcher-error-handling.d.ts.map +1 -0
- package/dist/core/dispatcher-error-handling.js +393 -0
- package/dist/core/dispatcher-error-handling.js.map +1 -0
- package/dist/core/dispatcher-hourly-check.d.ts +150 -0
- package/dist/core/dispatcher-hourly-check.d.ts.map +1 -0
- package/dist/core/dispatcher-hourly-check.js +665 -0
- package/dist/core/dispatcher-hourly-check.js.map +1 -0
- package/dist/core/dispatcher-message-handler.d.ts +170 -0
- package/dist/core/dispatcher-message-handler.d.ts.map +1 -0
- package/dist/core/dispatcher-message-handler.js +1054 -0
- package/dist/core/dispatcher-message-handler.js.map +1 -0
- package/dist/core/dispatcher-morning-routine.d.ts +169 -0
- package/dist/core/dispatcher-morning-routine.d.ts.map +1 -0
- package/dist/core/dispatcher-morning-routine.js +434 -0
- package/dist/core/dispatcher-morning-routine.js.map +1 -0
- package/dist/core/dispatcher-prompt.d.ts +107 -0
- package/dist/core/dispatcher-prompt.d.ts.map +1 -0
- package/dist/core/dispatcher-prompt.js +227 -0
- package/dist/core/dispatcher-prompt.js.map +1 -0
- package/dist/core/dispatcher-repository-helpers.d.ts +39 -0
- package/dist/core/dispatcher-repository-helpers.d.ts.map +1 -0
- package/dist/core/dispatcher-repository-helpers.js +86 -0
- package/dist/core/dispatcher-repository-helpers.js.map +1 -0
- package/dist/core/dispatcher-result-processor.d.ts +145 -0
- package/dist/core/dispatcher-result-processor.d.ts.map +1 -0
- package/dist/core/dispatcher-result-processor.js +414 -0
- package/dist/core/dispatcher-result-processor.js.map +1 -0
- package/dist/core/dispatcher-scheduled-tasks.d.ts +406 -0
- package/dist/core/dispatcher-scheduled-tasks.d.ts.map +1 -0
- package/dist/core/dispatcher-scheduled-tasks.js +998 -0
- package/dist/core/dispatcher-scheduled-tasks.js.map +1 -0
- package/dist/core/dispatcher-types.d.ts +296 -0
- package/dist/core/dispatcher-types.d.ts.map +1 -0
- package/dist/core/dispatcher-types.js +106 -0
- package/dist/core/dispatcher-types.js.map +1 -0
- package/dist/core/dispatcher.d.ts +86 -610
- package/dist/core/dispatcher.d.ts.map +1 -1
- package/dist/core/dispatcher.js +293 -3542
- package/dist/core/dispatcher.js.map +1 -1
- package/dist/core/integration-health.d.ts +18 -10
- package/dist/core/integration-health.d.ts.map +1 -1
- package/dist/core/integration-health.js +31 -1
- package/dist/core/integration-health.js.map +1 -1
- package/dist/core/integration-lifecycle.d.ts +65 -0
- package/dist/core/integration-lifecycle.d.ts.map +1 -1
- package/dist/core/integration-lifecycle.js +167 -16
- package/dist/core/integration-lifecycle.js.map +1 -1
- package/dist/core/integration-main-backend.d.ts +40 -0
- package/dist/core/integration-main-backend.d.ts.map +1 -1
- package/dist/core/integration-main-backend.js +89 -2
- package/dist/core/integration-main-backend.js.map +1 -1
- package/dist/core/management-md.d.ts +51 -17
- package/dist/core/management-md.d.ts.map +1 -1
- package/dist/core/management-md.js +233 -56
- package/dist/core/management-md.js.map +1 -1
- package/dist/core/output-language-policy.d.ts +74 -0
- package/dist/core/output-language-policy.d.ts.map +1 -0
- package/dist/core/output-language-policy.js +194 -0
- package/dist/core/output-language-policy.js.map +1 -0
- package/dist/core/prompts.d.ts +1 -0
- package/dist/core/prompts.d.ts.map +1 -1
- package/dist/core/prompts.js +121 -3
- package/dist/core/prompts.js.map +1 -1
- package/dist/core/repository-management-docs.d.ts +24 -0
- package/dist/core/repository-management-docs.d.ts.map +1 -1
- package/dist/core/repository-management-docs.js +210 -26
- package/dist/core/repository-management-docs.js.map +1 -1
- package/dist/core/routine-acquisition-plan.d.ts +131 -0
- package/dist/core/routine-acquisition-plan.d.ts.map +1 -0
- package/dist/core/routine-acquisition-plan.js +268 -0
- package/dist/core/routine-acquisition-plan.js.map +1 -0
- package/dist/core/routine-fetch-window-runner.d.ts +201 -0
- package/dist/core/routine-fetch-window-runner.d.ts.map +1 -0
- package/dist/core/routine-fetch-window-runner.js +661 -0
- package/dist/core/routine-fetch-window-runner.js.map +1 -0
- package/dist/core/routine-windows.d.ts +156 -0
- package/dist/core/routine-windows.d.ts.map +1 -0
- package/dist/core/routine-windows.js +330 -0
- package/dist/core/routine-windows.js.map +1 -0
- package/dist/core/skills-compiler.d.ts +11 -0
- package/dist/core/skills-compiler.d.ts.map +1 -1
- package/dist/core/skills-compiler.js +102 -13
- package/dist/core/skills-compiler.js.map +1 -1
- package/dist/core/skills-manifest.d.ts.map +1 -1
- package/dist/core/skills-manifest.js +26 -0
- package/dist/core/skills-manifest.js.map +1 -1
- package/dist/core/system-reset.d.ts.map +1 -1
- package/dist/core/system-reset.js +25 -2
- package/dist/core/system-reset.js.map +1 -1
- package/dist/db/observations.d.ts +45 -2
- package/dist/db/observations.d.ts.map +1 -1
- package/dist/db/observations.js +112 -14
- package/dist/db/observations.js.map +1 -1
- package/dist/db/schema.d.ts.map +1 -1
- package/dist/db/schema.js +13 -25
- package/dist/db/schema.js.map +1 -1
- package/dist/index.js +83 -610
- package/dist/index.js.map +1 -1
- package/dist/observers/delegated-sync-worker.d.ts +45 -2
- package/dist/observers/delegated-sync-worker.d.ts.map +1 -1
- package/dist/observers/delegated-sync-worker.js +71 -21
- package/dist/observers/delegated-sync-worker.js.map +1 -1
- package/dist/observers/mail-poller.d.ts +12 -5
- package/dist/observers/mail-poller.d.ts.map +1 -1
- package/dist/observers/mail-poller.js +36 -14
- package/dist/observers/mail-poller.js.map +1 -1
- package/dist/observers/manager.d.ts +37 -5
- package/dist/observers/manager.d.ts.map +1 -1
- package/dist/observers/manager.js +28 -10
- package/dist/observers/manager.js.map +1 -1
- package/dist/safety/risk-classifier.d.ts.map +1 -1
- package/dist/safety/risk-classifier.js +5 -0
- package/dist/safety/risk-classifier.js.map +1 -1
- package/dist/services/delegated-backend-invoker.d.ts +1 -51
- package/dist/services/delegated-backend-invoker.d.ts.map +1 -1
- package/dist/services/delegated-backend-invoker.js +41 -480
- package/dist/services/delegated-backend-invoker.js.map +1 -1
- package/dist/services/delegated-invoker-audit.d.ts +94 -0
- package/dist/services/delegated-invoker-audit.d.ts.map +1 -0
- package/dist/services/delegated-invoker-audit.js +238 -0
- package/dist/services/delegated-invoker-audit.js.map +1 -0
- package/dist/services/delegated-invoker-cache-hits.d.ts +34 -0
- package/dist/services/delegated-invoker-cache-hits.d.ts.map +1 -0
- package/dist/services/delegated-invoker-cache-hits.js +104 -0
- package/dist/services/delegated-invoker-cache-hits.js.map +1 -0
- package/dist/services/delegated-invoker-janitors.d.ts +28 -0
- package/dist/services/delegated-invoker-janitors.d.ts.map +1 -0
- package/dist/services/delegated-invoker-janitors.js +104 -0
- package/dist/services/delegated-invoker-janitors.js.map +1 -0
- package/dist/services/delegated-invoker-utils.d.ts +42 -0
- package/dist/services/delegated-invoker-utils.d.ts.map +1 -0
- package/dist/services/delegated-invoker-utils.js +100 -0
- package/dist/services/delegated-invoker-utils.js.map +1 -0
- package/dist/services/delegated-task-runtime.d.ts +1 -1
- package/dist/services/delegated-task-runtime.js +1 -1
- package/dist/services/integrations/snapshot-partitions.d.ts +5 -0
- package/dist/services/integrations/snapshot-partitions.d.ts.map +1 -1
- package/dist/services/integrations/snapshot-partitions.js +12 -0
- package/dist/services/integrations/snapshot-partitions.js.map +1 -1
- package/dist/services/voice/transcriber-impl.d.ts.map +1 -1
- package/dist/services/voice/transcriber-impl.js +46 -0
- package/dist/services/voice/transcriber-impl.js.map +1 -1
- package/package.json +12 -12
|
@@ -1,14 +1,12 @@
|
|
|
1
|
-
import { existsSync, renameSync } from "node:fs";
|
|
2
1
|
import { mkdir, readFile, writeFile, stat } from "node:fs/promises";
|
|
3
2
|
import { dirname, resolve } from "node:path";
|
|
4
3
|
import * as chokidar from "chokidar";
|
|
5
|
-
import { INTEGRATION_DESCRIPTORS, INTEGRATION_KEYS, integrationPatchSchema, isIntegrationKey, } from "@aitne/shared";
|
|
4
|
+
import { defaultIntegrationsMap, INTEGRATION_DESCRIPTORS, INTEGRATION_KEYS, integrationPatchSchema, isIntegrationKey, } from "@aitne/shared";
|
|
6
5
|
import { readIntegrations, writeIntegrations, } from "../db/integrations-store.js";
|
|
7
|
-
import { missingDelegatedVariants } from "./skills-compiler.js";
|
|
6
|
+
import { missingDelegatedVariants, missingNativeVariants } from "./skills-compiler.js";
|
|
8
7
|
import { createLogger } from "../logging.js";
|
|
9
8
|
const logger = createLogger("management-md");
|
|
10
9
|
const FILE_NAME = "integrations.md";
|
|
11
|
-
const LEGACY_FILE_NAME = "management.md";
|
|
12
10
|
/**
|
|
13
11
|
* Integration Delegation Framework — `integrations.md` render + parse + watch
|
|
14
12
|
* (Phase 1).
|
|
@@ -35,33 +33,6 @@ const LEGACY_FILE_NAME = "management.md";
|
|
|
35
33
|
export function getManagementMdPath(dataDir) {
|
|
36
34
|
return resolve(dataDir, FILE_NAME);
|
|
37
35
|
}
|
|
38
|
-
export function getLegacyManagementMdPath(dataDir) {
|
|
39
|
-
return resolve(dataDir, LEGACY_FILE_NAME);
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* One-shot compatibility migration for installs that predate the
|
|
43
|
-
* `integrations.md` rename. If both files exist, keep `integrations.md` as
|
|
44
|
-
* authoritative and leave the legacy file untouched for manual inspection.
|
|
45
|
-
*/
|
|
46
|
-
export function migrateLegacyManagementMd(dataDir) {
|
|
47
|
-
const from = getLegacyManagementMdPath(dataDir);
|
|
48
|
-
const to = getManagementMdPath(dataDir);
|
|
49
|
-
if (existsSync(to)) {
|
|
50
|
-
if (existsSync(from)) {
|
|
51
|
-
// `integrations.md` wins by design; the user probably migrated the
|
|
52
|
-
// file manually. Surface a one-time warning so the orphaned legacy
|
|
53
|
-
// file is visible (otherwise it sits in dataDir silently forever).
|
|
54
|
-
logger.warn({ legacyPath: from, currentPath: to }, "legacy management.md remains alongside integrations.md — delete the legacy file manually if no longer needed");
|
|
55
|
-
}
|
|
56
|
-
return { migrated: false, from, to, reason: "target_exists" };
|
|
57
|
-
}
|
|
58
|
-
if (!existsSync(from)) {
|
|
59
|
-
return { migrated: false, from, to, reason: "legacy_missing" };
|
|
60
|
-
}
|
|
61
|
-
renameSync(from, to);
|
|
62
|
-
logger.info({ from, to }, "legacy management.md migrated to integrations.md");
|
|
63
|
-
return { migrated: true, from, to };
|
|
64
|
-
}
|
|
65
36
|
const pendingSelfWrites = new Set();
|
|
66
37
|
function markSelfWrite(absPath) {
|
|
67
38
|
pendingSelfWrites.add(absPath);
|
|
@@ -91,7 +62,8 @@ schema_version: 1
|
|
|
91
62
|
const MODES_SECTION = `## Modes
|
|
92
63
|
|
|
93
64
|
- **direct** — daemon holds credentials and polls; full feature set; setup required.
|
|
94
|
-
- **delegated** —
|
|
65
|
+
- **delegated** — daemon proxies a separate backend connector on a cadence; reduced features; zero setup.
|
|
66
|
+
- **native** — main backend's own native MCP / connector reaches the integration on-demand within the same DM / hourly_check turn; no daemon polling and no daemon-side proxy.
|
|
95
67
|
- **disabled** — integration off.
|
|
96
68
|
`;
|
|
97
69
|
function renderCurrentStateTable(integrations) {
|
|
@@ -101,7 +73,11 @@ function renderCurrentStateTable(integrations) {
|
|
|
101
73
|
];
|
|
102
74
|
for (const key of INTEGRATION_KEYS) {
|
|
103
75
|
const state = integrations[key];
|
|
104
|
-
|
|
76
|
+
// INTEGRATION_NATIVE_MODE_DESIGN.md §11.5 — the "Backend" column
|
|
77
|
+
// surfaces whichever backend binding is active for the row, since
|
|
78
|
+
// delegated and native are mutually exclusive. Direct/disabled
|
|
79
|
+
// remain `—`.
|
|
80
|
+
const backend = state.delegatedBackend ?? state.nativeBackend ?? "—";
|
|
105
81
|
const subTier = renderSubTier(key, state);
|
|
106
82
|
rows.push(`| ${key} | ${state.mode} | ${backend} | ${subTier} | ${state.lastChangedAt} |`);
|
|
107
83
|
}
|
|
@@ -207,6 +183,166 @@ function renderToolDenySection(integrations) {
|
|
|
207
183
|
}
|
|
208
184
|
return header + blocks.join("\n");
|
|
209
185
|
}
|
|
186
|
+
// ── Integration routing tables (§6.5.2 / §7.3) ─────────────────────────────
|
|
187
|
+
/**
|
|
188
|
+
* INTEGRATION_NATIVE_MODE_DESIGN.md §7.3 — render the full per-session
|
|
189
|
+
* routing table that the per-backend instruction file (`CLAUDE.md` /
|
|
190
|
+
* `AGENTS.md` / `GEMINI.md`) and the hourly_check / DM task-flow files
|
|
191
|
+
* substitute in for the `<integration-routing-table>` placeholder.
|
|
192
|
+
*
|
|
193
|
+
* Always renders every registered integration, even when all rows are
|
|
194
|
+
* `direct`, so the agent's mental model converges on "read the routing
|
|
195
|
+
* table first, then dispatch." Disabled rows appear as `(disabled)` so
|
|
196
|
+
* the agent can answer "do I have Gmail?" honestly even when the audit
|
|
197
|
+
* surface is suppressed.
|
|
198
|
+
*
|
|
199
|
+
* Pure function — no I/O, no DB reads. Callers pass the integration
|
|
200
|
+
* snapshot they want rendered (typically from `readIntegrations(db)`).
|
|
201
|
+
*/
|
|
202
|
+
export function renderIntegrationRoutingTable(integrations) {
|
|
203
|
+
const rows = [
|
|
204
|
+
"| Integration | Mode | Data path |",
|
|
205
|
+
"|---|---|---|",
|
|
206
|
+
];
|
|
207
|
+
for (const key of INTEGRATION_KEYS) {
|
|
208
|
+
const state = integrations[key];
|
|
209
|
+
rows.push(`| ${key} | ${state.mode} | ${describeDataPath(key, state)} |`);
|
|
210
|
+
}
|
|
211
|
+
return rows.join("\n");
|
|
212
|
+
}
|
|
213
|
+
/**
|
|
214
|
+
* INTEGRATION_NATIVE_MODE_DESIGN.md §6.5.2 — the actionable variant of
|
|
215
|
+
* the routing table. Identical rendering for `direct` / `delegated` /
|
|
216
|
+
* `native` rows; `disabled` rows are filtered out entirely so the
|
|
217
|
+
* task-flow's "for each integration" loop has zero iterations for them.
|
|
218
|
+
*
|
|
219
|
+
* This is what the hourly_check and DM task-flow files iterate over;
|
|
220
|
+
* the full {@link renderIntegrationRoutingTable} is for the instruction
|
|
221
|
+
* file's read-only audit summary.
|
|
222
|
+
*/
|
|
223
|
+
export function renderIntegrationRoutingTableActionable(integrations) {
|
|
224
|
+
const rows = [
|
|
225
|
+
"| Integration | Mode | Data path |",
|
|
226
|
+
"|---|---|---|",
|
|
227
|
+
];
|
|
228
|
+
let actionableCount = 0;
|
|
229
|
+
for (const key of INTEGRATION_KEYS) {
|
|
230
|
+
const state = integrations[key];
|
|
231
|
+
if (state.mode === "disabled")
|
|
232
|
+
continue;
|
|
233
|
+
actionableCount++;
|
|
234
|
+
rows.push(`| ${key} | ${state.mode} | ${describeDataPath(key, state)} |`);
|
|
235
|
+
}
|
|
236
|
+
if (actionableCount === 0) {
|
|
237
|
+
// Empty-table marker the task-flow author can branch on. Renders as
|
|
238
|
+
// a single italic line so the surrounding prompt stays parseable.
|
|
239
|
+
return "_No actionable integrations — every registered key is currently disabled._";
|
|
240
|
+
}
|
|
241
|
+
return rows.join("\n");
|
|
242
|
+
}
|
|
243
|
+
/**
|
|
244
|
+
* INTEGRATION_NATIVE_MODE_DESIGN.md §7.3 / §6.5.2 — substitute the two
|
|
245
|
+
* angle-bracket placeholders documented in the design with their
|
|
246
|
+
* rendered tables. The placeholders are deliberately literal strings
|
|
247
|
+
* (not `{handlebars}` template tokens) so they survive the existing
|
|
248
|
+
* `resolveTemplate` pass in `prompt-utils.ts` (which only touches
|
|
249
|
+
* `{…}` braces) without escaping. Substitution is idempotent — running
|
|
250
|
+
* the helper twice on already-substituted text is a no-op because the
|
|
251
|
+
* placeholder strings have already been replaced.
|
|
252
|
+
*
|
|
253
|
+
* Callers:
|
|
254
|
+
* - `prompts.getTaskFlow` substitutes after `applyIntegrationModeFilter`
|
|
255
|
+
* so the rendered template carries the final per-session table
|
|
256
|
+
* before `resolveTemplate` fills `{context}` and `{event_data[*]}`.
|
|
257
|
+
* - `skills-compiler.materializeClaudeSession` /
|
|
258
|
+
* `materializeCliSession` substitute inside the rendered profile
|
|
259
|
+
* body before writing `CLAUDE.md` / `AGENTS.md` / `GEMINI.md`.
|
|
260
|
+
*
|
|
261
|
+
* Returns `content` unchanged when neither placeholder is present so
|
|
262
|
+
* call sites can apply this unconditionally without measuring impact.
|
|
263
|
+
*/
|
|
264
|
+
export const INTEGRATION_ROUTING_TABLE_PLACEHOLDER = "<integration-routing-table>";
|
|
265
|
+
export const INTEGRATION_ROUTING_TABLE_ACTIONABLE_PLACEHOLDER = "<integration-routing-table-actionable>";
|
|
266
|
+
export function substituteIntegrationRoutingTables(content, integrations) {
|
|
267
|
+
if (!content.includes(INTEGRATION_ROUTING_TABLE_PLACEHOLDER)
|
|
268
|
+
&& !content.includes(INTEGRATION_ROUTING_TABLE_ACTIONABLE_PLACEHOLDER)) {
|
|
269
|
+
return content;
|
|
270
|
+
}
|
|
271
|
+
// Fill missing keys with the registry default (disabled for most,
|
|
272
|
+
// direct for git/github) so the renderer always sees a full record.
|
|
273
|
+
// Callers from `prompts.ts` and `skills-compiler.ts` hold a Partial
|
|
274
|
+
// (the SkillsCompiler constructor parameter is Partial by design —
|
|
275
|
+
// tests instantiate it with `{}` for direct-mode coverage). Filling
|
|
276
|
+
// here keeps every consumer's call site noise-free.
|
|
277
|
+
const filled = ensureFullIntegrationsRecord(integrations);
|
|
278
|
+
// Order matters: substitute the longer/actionable token first so a
|
|
279
|
+
// future placeholder that contains the shorter token as a substring
|
|
280
|
+
// (e.g. a hypothetical `<integration-routing-table-X>`) still binds
|
|
281
|
+
// exactly. `replaceAll` so multiple insertions in one profile / flow
|
|
282
|
+
// all get rendered.
|
|
283
|
+
return content
|
|
284
|
+
.replaceAll(INTEGRATION_ROUTING_TABLE_ACTIONABLE_PLACEHOLDER, renderIntegrationRoutingTableActionable(filled))
|
|
285
|
+
.replaceAll(INTEGRATION_ROUTING_TABLE_PLACEHOLDER, renderIntegrationRoutingTable(filled));
|
|
286
|
+
}
|
|
287
|
+
function ensureFullIntegrationsRecord(integrations) {
|
|
288
|
+
const defaults = defaultIntegrationsMap();
|
|
289
|
+
const out = {};
|
|
290
|
+
for (const key of INTEGRATION_KEYS) {
|
|
291
|
+
out[key] = integrations[key] ?? defaults[key];
|
|
292
|
+
}
|
|
293
|
+
return out;
|
|
294
|
+
}
|
|
295
|
+
function describeDataPath(key, state) {
|
|
296
|
+
switch (state.mode) {
|
|
297
|
+
case "direct":
|
|
298
|
+
return `curl http://localhost:8321/api/${dataPathPrefixFor(key)}/*`;
|
|
299
|
+
case "delegated": {
|
|
300
|
+
const backend = state.delegatedBackend;
|
|
301
|
+
if (!backend)
|
|
302
|
+
return "delegated (no backend bound — re-configure)";
|
|
303
|
+
return `POST /api/integrations/${key}/exec (proxy → ${backend})`;
|
|
304
|
+
}
|
|
305
|
+
case "native": {
|
|
306
|
+
const backend = state.nativeBackend;
|
|
307
|
+
if (!backend)
|
|
308
|
+
return "native (no backend bound — re-configure)";
|
|
309
|
+
// The descriptor's `toolNamespace` is the bare prefix the agent
|
|
310
|
+
// sees; suffix with `*` so the rendered string reads as a glob.
|
|
311
|
+
const namespace = INTEGRATION_DESCRIPTORS[key].backendConnectors[backend]?.toolNamespace;
|
|
312
|
+
const surface = namespace
|
|
313
|
+
? `${namespace}* (${backend} native MCP)`
|
|
314
|
+
: `${backend} native MCP`;
|
|
315
|
+
return `${surface} — DO NOT call /api/${key}/*`;
|
|
316
|
+
}
|
|
317
|
+
case "disabled":
|
|
318
|
+
return "(disabled)";
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
/**
|
|
322
|
+
* Per-integration daemon-API path prefix used in {@link describeDataPath}.
|
|
323
|
+
* Mirrors the documented routes; we don't introspect `apiRoutesTouched`
|
|
324
|
+
* because that field is intentionally empty for multi-provider routes
|
|
325
|
+
* (gmail under /api/mail/*) and we still want the routing table to name
|
|
326
|
+
* a concrete path the agent can grep for.
|
|
327
|
+
*/
|
|
328
|
+
function dataPathPrefixFor(key) {
|
|
329
|
+
switch (key) {
|
|
330
|
+
case "gmail":
|
|
331
|
+
return "mail";
|
|
332
|
+
case "google_calendar":
|
|
333
|
+
return "calendar";
|
|
334
|
+
case "notion":
|
|
335
|
+
return "notion";
|
|
336
|
+
case "git":
|
|
337
|
+
return "git";
|
|
338
|
+
case "github":
|
|
339
|
+
return "github";
|
|
340
|
+
case "outlook_mail":
|
|
341
|
+
return "mail";
|
|
342
|
+
case "outlook_calendar":
|
|
343
|
+
return "calendar/outlook";
|
|
344
|
+
}
|
|
345
|
+
}
|
|
210
346
|
export function renderManagementMd(integrations, notes = {
|
|
211
347
|
externalObsidianVaultPath: null,
|
|
212
348
|
externalObsidianWatch: true,
|
|
@@ -250,9 +386,23 @@ export function parseManagementMd(body) {
|
|
|
250
386
|
}
|
|
251
387
|
const mode = row.mode;
|
|
252
388
|
const backendCell = row.backend === "—" || row.backend === "" ? undefined : row.backend;
|
|
389
|
+
// INTEGRATION_NATIVE_MODE_DESIGN.md §5.2 — the rendered table has a
|
|
390
|
+
// single "Backend" column whose semantics flip on mode: delegated
|
|
391
|
+
// rows carry `delegatedBackend`, native rows carry `nativeBackend`,
|
|
392
|
+
// direct / disabled carry `—`. Route the parsed cell to the correct
|
|
393
|
+
// field so a round-trip (render → hand-edit → parseManagementMd →
|
|
394
|
+
// DB) preserves the binding. Sending a native cell into
|
|
395
|
+
// `delegatedBackend` would either fail the schema's mutual-exclusion
|
|
396
|
+
// `superRefine` or silently drop the binding (whichever field
|
|
397
|
+
// `superRefine` clears when mode flips).
|
|
398
|
+
const backendForMode = mode === "delegated"
|
|
399
|
+
? { delegatedBackend: backendCell }
|
|
400
|
+
: mode === "native"
|
|
401
|
+
? { nativeBackend: backendCell }
|
|
402
|
+
: {};
|
|
253
403
|
const patch = integrationPatchSchema.safeParse({
|
|
254
404
|
mode,
|
|
255
|
-
|
|
405
|
+
...backendForMode,
|
|
256
406
|
});
|
|
257
407
|
if (!patch.success) {
|
|
258
408
|
errors.push(`integration ${row.key}: ${patch.error.issues
|
|
@@ -268,6 +418,9 @@ export function parseManagementMd(body) {
|
|
|
268
418
|
...(patch.data.delegatedBackend
|
|
269
419
|
? { delegatedBackend: patch.data.delegatedBackend }
|
|
270
420
|
: {}),
|
|
421
|
+
...(patch.data.nativeBackend
|
|
422
|
+
? { nativeBackend: patch.data.nativeBackend }
|
|
423
|
+
: {}),
|
|
271
424
|
deniedTools: denyByKey[row.key] ?? [],
|
|
272
425
|
lastChangedAt: lastChanged,
|
|
273
426
|
};
|
|
@@ -418,9 +571,6 @@ export async function readAndParseManagementMd(dataDir) {
|
|
|
418
571
|
* Phase 2+; for now we only log.
|
|
419
572
|
*/
|
|
420
573
|
export async function bootstrapManagementMd(dataDir, db, workspaceDir, notes) {
|
|
421
|
-
// Callers are responsible for invoking `migrateLegacyManagementMd`
|
|
422
|
-
// before `bootstrapManagementMd` so any legacy file has already been
|
|
423
|
-
// renamed to `integrations.md` before we touch it. See index.ts.
|
|
424
574
|
const path = getManagementMdPath(dataDir);
|
|
425
575
|
const dbState = readIntegrations(db);
|
|
426
576
|
let fileExists = true;
|
|
@@ -509,44 +659,71 @@ export function enforceVariantAvailability(merged, dbState, workspaceDir) {
|
|
|
509
659
|
for (const key of INTEGRATION_KEYS) {
|
|
510
660
|
const next = merged[key];
|
|
511
661
|
const prev = dbState[key];
|
|
512
|
-
if (next.mode !== "delegated" || !next.delegatedBackend)
|
|
513
|
-
continue;
|
|
514
662
|
// DELEGATED-MODE-V2-DESIGN.md §11 (Phase 3) re-activated the variant
|
|
515
663
|
// gate for every delegated integration: gmail and google_calendar
|
|
516
664
|
// now ship `SKILL.delegated.<sessionBackend>.md` variants
|
|
517
665
|
// (cross-backend) plus the `null` resolution for same-backend.
|
|
518
|
-
//
|
|
519
|
-
//
|
|
520
|
-
//
|
|
521
|
-
//
|
|
522
|
-
//
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
666
|
+
// INTEGRATION_NATIVE_MODE_DESIGN.md §11.3 — mirror the gate for
|
|
667
|
+
// native flips so a hand-edit that introduces native + a missing
|
|
668
|
+
// skill variant gets rolled back the same way a delegated flip does.
|
|
669
|
+
//
|
|
670
|
+
// Only validate when this edit introduces a new (mode, backend)
|
|
671
|
+
// binding. A row whose state matches the DB pre-merge has already
|
|
672
|
+
// cleared the check at some prior boot / PATCH; re-running here
|
|
673
|
+
// would churn on every unrelated edit.
|
|
674
|
+
let missing = null;
|
|
675
|
+
let activeBackend = null;
|
|
676
|
+
if (next.mode === "delegated" && next.delegatedBackend) {
|
|
677
|
+
const semanticallyNew = prev.mode !== next.mode ||
|
|
678
|
+
(prev.delegatedBackend ?? null) !== (next.delegatedBackend ?? null);
|
|
679
|
+
if (!semanticallyNew)
|
|
680
|
+
continue;
|
|
681
|
+
activeBackend = next.delegatedBackend;
|
|
682
|
+
missing = missingDelegatedVariants(workspaceDir, key, activeBackend);
|
|
683
|
+
}
|
|
684
|
+
else if (next.mode === "native" && next.nativeBackend) {
|
|
685
|
+
const semanticallyNew = prev.mode !== next.mode ||
|
|
686
|
+
(prev.nativeBackend ?? null) !== (next.nativeBackend ?? null);
|
|
687
|
+
if (!semanticallyNew)
|
|
688
|
+
continue;
|
|
689
|
+
activeBackend = next.nativeBackend;
|
|
690
|
+
missing = missingNativeVariants(workspaceDir, key, activeBackend);
|
|
691
|
+
}
|
|
692
|
+
else {
|
|
526
693
|
continue;
|
|
527
|
-
|
|
694
|
+
}
|
|
528
695
|
const paths = [...missing.skills, ...missing.taskFlows];
|
|
529
696
|
if (paths.length === 0)
|
|
530
697
|
continue;
|
|
531
698
|
filtered[key] = prev;
|
|
532
|
-
rejections.push({ key, backend:
|
|
699
|
+
rejections.push({ key, backend: activeBackend, missing: paths });
|
|
533
700
|
}
|
|
534
701
|
return { filtered, rejections };
|
|
535
702
|
}
|
|
536
703
|
function changed(a, b) {
|
|
537
704
|
for (const key of INTEGRATION_KEYS) {
|
|
538
|
-
if (a[key]
|
|
539
|
-
(a[key].delegatedBackend ?? undefined) !==
|
|
540
|
-
(b[key].delegatedBackend ?? undefined)) {
|
|
705
|
+
if (integrationRowChanged(a[key], b[key]))
|
|
541
706
|
return true;
|
|
542
|
-
}
|
|
543
707
|
}
|
|
544
708
|
return false;
|
|
545
709
|
}
|
|
546
710
|
function diffKeys(a, b) {
|
|
547
|
-
return INTEGRATION_KEYS.filter((key) => a[key]
|
|
548
|
-
|
|
549
|
-
|
|
711
|
+
return INTEGRATION_KEYS.filter((key) => integrationRowChanged(a[key], b[key]));
|
|
712
|
+
}
|
|
713
|
+
/**
|
|
714
|
+
* INTEGRATION_NATIVE_MODE_DESIGN.md §5.2 — a row changed when ANY of
|
|
715
|
+
* `mode`, `delegatedBackend`, or `nativeBackend` differs. Pre-native
|
|
716
|
+
* code compared only mode + delegatedBackend, which silently swallowed
|
|
717
|
+
* a native-binding flip (e.g. `nativeBackend: claude → codex` after a
|
|
718
|
+
* main-backend change, where the §11.4 cascade clears the row to
|
|
719
|
+
* `disabled` — the cascade itself flips mode, so this didn't matter in
|
|
720
|
+
* practice, but missing the comparison risks a future code path that
|
|
721
|
+
* mutates nativeBackend without flipping mode).
|
|
722
|
+
*/
|
|
723
|
+
function integrationRowChanged(a, b) {
|
|
724
|
+
return (a.mode !== b.mode ||
|
|
725
|
+
(a.delegatedBackend ?? undefined) !== (b.delegatedBackend ?? undefined) ||
|
|
726
|
+
(a.nativeBackend ?? undefined) !== (b.nativeBackend ?? undefined));
|
|
550
727
|
}
|
|
551
728
|
/**
|
|
552
729
|
* Watch `integrations.md` for out-of-band edits and reconcile them into the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"management-md.js","sourceRoot":"","sources":["../../src/core/management-md.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAE7C,OAAO,KAAK,QAAQ,MAAM,UAAU,CAAC;AACrC,OAAO,EACL,uBAAuB,EACvB,gBAAgB,EAChB,sBAAsB,EACtB,gBAAgB,GAKjB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,gBAAgB,EAChB,iBAAiB,GAElB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,MAAM,MAAM,GAAG,YAAY,CAAC,eAAe,CAAC,CAAC;AAE7C,MAAM,SAAS,GAAG,iBAAiB,CAAC;AACpC,MAAM,gBAAgB,GAAG,eAAe,CAAC;AAEzC;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,MAAM,UAAU,mBAAmB,CAAC,OAAe;IACjD,OAAO,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,OAAe;IACvD,OAAO,OAAO,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;AAC5C,CAAC;AAWD;;;;GAIG;AACH,MAAM,UAAU,yBAAyB,CACvC,OAAe;IAEf,MAAM,IAAI,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAC;IAChD,MAAM,EAAE,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;IACxC,IAAI,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC;QACnB,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACrB,mEAAmE;YACnE,mEAAmE;YACnE,mEAAmE;YACnE,MAAM,CAAC,IAAI,CACT,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,EACrC,8GAA8G,CAC/G,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC;IAChE,CAAC;IACD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;IACjE,CAAC;IACD,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACrB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,kDAAkD,CAAC,CAAC;IAC9E,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;AACtC,CAAC;AAED,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAU,CAAC;AAE5C,SAAS,aAAa,CAAC,OAAe;IACpC,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC/B,wEAAwE;IACxE,8DAA8D;IAC9D,qEAAqE;IACrE,qCAAqC;IACrC,UAAU,CAAC,GAAG,EAAE,CAAC,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;AACpE,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAe;IACvC,OAAO,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AAC3C,CAAC;AAED,8EAA8E;AAE9E,wEAAwE;AACxE,0EAA0E;AAC1E,yEAAyE;AACzE,yEAAyE;AACzE,wDAAwD;AACxD,4CAA4C;AAC5C,MAAM,WAAW,GAAG;;;;;;CAMnB,CAAC;AAEF,MAAM,aAAa,GAAG;;;;;CAKrB,CAAC;AAEF,SAAS,uBAAuB,CAAC,YAAgC;IAC/D,MAAM,IAAI,GAAa;QACrB,4DAA4D;QAC5D,uBAAuB;KACxB,CAAC;IACF,KAAK,MAAM,GAAG,IAAI,gBAAgB,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;QAChC,MAAM,OAAO,GAAG,KAAK,CAAC,gBAAgB,IAAI,GAAG,CAAC;QAC9C,MAAM,OAAO,GAAG,aAAa,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC1C,IAAI,CAAC,IAAI,CACP,KAAK,GAAG,MAAM,KAAK,CAAC,IAAI,MAAM,OAAO,MAAM,OAAO,MAAM,KAAK,CAAC,aAAa,IAAI,CAChF,CAAC;IACJ,CAAC;IACD,OAAO,uBAAuB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AACpD,CAAC;AAED,SAAS,aAAa,CAAC,GAAmB,EAAE,KAAuB;IACjE,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,KAAK,CAAC,gBAAgB;QAAE,OAAO,GAAG,CAAC;IACtE,uEAAuE;IACvE,gDAAgD;IAChD,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;QACpB,IAAI,KAAK,CAAC,gBAAgB,KAAK,QAAQ;YAAE,OAAO,YAAY,CAAC;QAC7D,IAAI,KAAK,CAAC,gBAAgB,KAAK,OAAO;YAAE,OAAO,WAAW,CAAC;IAC7D,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,wBAAwB,CAAC,YAAgC;IAChE,MAAM,MAAM,GAAG,gBAAgB,CAAC,MAAM,CACpC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAC3C,CAAC;IACF,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,gDAAgD,CAAC;IAC1D,CAAC;IACD,OAAO,sBAAsB,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AAC9E,CAAC;AAiBD,MAAM,UAAU,wBAAwB,CACtC,YAAgC,EAChC,KAAuB;IAEvB,MAAM,YAAY,GAAG,KAAK,CAAC,yBAAyB;QAClD,CAAC,CAAC,GAAG,KAAK,CAAC,yBAAyB,GAAG,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,sBAAsB,EAAE;QAClG,CAAC,CAAC,GAAG,CAAC;IACR,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC;IACnC,IAAI,UAAkB,CAAC;IACvB,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAC/B,UAAU,GAAG,UAAU,CAAC;IAC1B,CAAC;SAAM,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;QAClE,UAAU,GAAG,0BAA0B,MAAM,CAAC,gBAAgB,GAAG,CAAC;IACpE,CAAC;SAAM,CAAC;QACN,UAAU,GAAG,kBAAkB,CAAC;IAClC,CAAC;IACD,OAAO;QACL,iBAAiB;QACjB,EAAE;QACF,oHAAoH;QACpH,gCAAgC,YAAY,EAAE;QAC9C,aAAa,UAAU,EAAE;QACzB,EAAE;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,MAAM,eAAe,GAAG;;;;CAIvB,CAAC;AAEF,SAAS,2BAA2B;IAClC,MAAM,IAAI,GAAa;QACrB,6DAA6D;QAC7D,+BAA+B;KAChC,CAAC;IACF,KAAK,MAAM,GAAG,IAAI,gBAAgB,EAAE,CAAC;QACnC,MAAM,IAAI,GAAG,uBAAuB,CAAC,GAAG,CAAC,CAAC;QAC1C,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QAChD,MAAM,UAAU,GAAG,mBAAmB,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;QACrF,MAAM,SAAS,GAAG,mBAAmB,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;QAClF,MAAM,UAAU,GAAG,mBAAmB,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;QACrF,IAAI,CAAC,IAAI,CACP,KAAK,GAAG,MAAM,UAAU,MAAM,UAAU,MAAM,SAAS,MAAM,UAAU,IAAI,CAC5E,CAAC;IACJ,CAAC;IACD,OAAO,gFAAgF,IAAI,CAAC,IAAI,CAC9F,IAAI,CACL,IAAI,CAAC;AACR,CAAC;AAED,SAAS,mBAAmB,CAC1B,SAAkE,EAClE,cAA8B,EAC9B,OAAkB;IAElB,IAAI,CAAC,SAAS;QAAE,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC;IACpE,IAAI,cAAc,KAAK,OAAO,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QACvD,OAAO,eAAe,CAAC;IACzB,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,qBAAqB,CAAC,YAAgC;IAC7D,sEAAsE;IACtE,wEAAwE;IACxE,uEAAuE;IACvE,2BAA2B;IAC3B,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,MAAM,GAAG,IAAI,gBAAgB,EAAE,CAAC;QACnC,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,WAAW,IAAI,EAAE,CAAC;QACnD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QAClC,MAAM,KAAK,GAAG,CAAC,OAAO,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC;QACjC,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;YAC1B,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC;QAC9B,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAChC,CAAC;IACD,MAAM,MAAM,GACV,gCAAgC;QAChC,wEAAwE;QACxE,yEAAyE;QACzE,2EAA2E;QAC3E,uEAAuE;QACvE,8CAA8C,CAAC;IACjD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,MAAM,GAAG,sBAAsB,CAAC;IACzC,CAAC;IACD,OAAO,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,YAAgC,EAChC,QAA0B;IACxB,yBAAyB,EAAE,IAAI;IAC/B,qBAAqB,EAAE,IAAI;CAC5B;IAED,OAAO;QACL,WAAW;QACX,4BAA4B;QAC5B,aAAa;QACb,uBAAuB,CAAC,YAAY,CAAC;QACrC,wBAAwB,CAAC,YAAY,CAAC;QACtC,wBAAwB,CAAC,YAAY,EAAE,KAAK,CAAC;QAC7C,eAAe;QACf,2BAA2B,EAAE;QAC7B,qBAAqB,CAAC,YAAY,CAAC;KACpC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAqBD;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,YAAY,GAAsD,EAAE,CAAC;IAE3E,MAAM,gBAAgB,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC;IACvD,IAAI,gBAAgB,KAAK,IAAI,EAAE,CAAC;QAC9B,MAAM,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;QAC1D,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;IACvD,CAAC;IAED,4EAA4E;IAC5E,0EAA0E;IAC1E,uEAAuE;IACvE,MAAM,SAAS,GAAG,qBAAqB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAExD,KAAK,MAAM,GAAG,IAAI,gBAAgB,EAAE,CAAC;QACnC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/B,QAAQ,CAAC,IAAI,CAAC,4BAA4B,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;YACrD,SAAS;QACX,CAAC;QACD,MAAM,IAAI,GAAG,GAAG,CAAC,IAAuB,CAAC;QACzC,MAAM,WAAW,GAAG,GAAG,CAAC,OAAO,KAAK,GAAG,IAAI,GAAG,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC;QACxF,MAAM,KAAK,GAAG,sBAAsB,CAAC,SAAS,CAAC;YAC7C,IAAI;YACJ,gBAAgB,EAAE,WAAW;SAC9B,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YACnB,MAAM,CAAC,IAAI,CACT,eAAe,GAAG,CAAC,GAAG,KAAK,KAAK,CAAC,KAAK,CAAC,MAAM;iBAC1C,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;iBACrB,IAAI,CAAC,IAAI,CAAC,EAAE,CAChB,CAAC;YACF,SAAS;QACX,CAAC;QACD,MAAM,WAAW,GAAG,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC;YAC5C,CAAC,CAAC,GAAG,CAAC,WAAW;YACjB,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC7B,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG;YACtB,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI;YACrB,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB;gBAC7B,CAAC,CAAC,EAAE,gBAAgB,EAAE,KAAK,CAAC,IAAI,CAAC,gBAAgB,EAAE;gBACnD,CAAC,CAAC,EAAE,CAAC;YACP,WAAW,EAAE,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE;YACrC,aAAa,EAAE,WAAW;SAC3B,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,EAAE,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;AACrE,CAAC;AAED;;;;;;GAMG;AACH,SAAS,qBAAqB,CAC5B,IAAY,EACZ,QAAkB;IAElB,MAAM,GAAG,GAA8C,EAAE,CAAC;IAC1D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAClC,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACrE,CAAC,EAAE,CAAC;IACN,CAAC;IACD,IAAI,CAAC,IAAI,KAAK,CAAC,MAAM;QAAE,OAAO,GAAG,CAAC;IAClC,CAAC,EAAE,CAAC;IAEJ,IAAI,UAAU,GAA0B,IAAI,CAAC;IAC7C,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,MAAM,CAAC,mCAAmC;QACnE,MAAM,SAAS,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YACzB,IAAI,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC1B,UAAU,GAAG,GAAG,CAAC;gBACjB,GAAG,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;YACvB,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,IAAI,CAAC,iDAAiD,GAAG,EAAE,CAAC,CAAC;gBACtE,UAAU,GAAG,IAAI,CAAC;YACpB,CAAC;YACD,CAAC,EAAE,CAAC;YACJ,SAAS;QACX,CAAC;QACD,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,MAAM,GAAG,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClD,IAAI,MAAM,EAAE,CAAC;gBACX,GAAG,CAAC,UAAU,CAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;QACD,CAAC,EAAE,CAAC;IACN,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,uBAAuB,CAAC,IAAY;IAC3C,oEAAoE;IACpE,2EAA2E;IAC3E,gBAAgB;IAChB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAClC,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,CAAC,EAAE,CAAC;IACN,CAAC;IACD,IAAI,CAAC,IAAI,KAAK,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAEnC,gDAAgD;IAChD,CAAC,EAAE,CAAC;IACJ,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE;QAAE,CAAC,EAAE,CAAC;IACvD,IAAI,CAAC,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAEvE,8BAA8B;IAC9B,CAAC,IAAI,CAAC,CAAC;IAEP,MAAM,IAAI,GAA4B,EAAE,CAAC;IACzC,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC7B,IAAI,IAAI,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,MAAM;QAChD,MAAM,KAAK,GAAG,IAAI;aACf,KAAK,CAAC,GAAG,CAAC;aACV,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;aACZ,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACxB,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,CAAC,EAAE,CAAC;YACJ,SAAS;QACX,CAAC;QACD,IAAI,CAAC,IAAI,CAAC;YACR,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;YACb,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;YACd,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;YACjB,0DAA0D;YAC1D,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC;SACtB,CAAC,CAAC;QACH,CAAC,EAAE,CAAC;IACN,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,SAAS,CAAC,KAAa;IAC9B,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IACzB,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AAC3D,CAAC;AAED,8EAA8E;AAE9E;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,OAAe,EACf,YAAgC,EAChC,KAAwB;IAExB,MAAM,IAAI,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC1C,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAChD,MAAM,IAAI,GAAG,kBAAkB,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IACrD,aAAa,CAAC,IAAI,CAAC,CAAC;IACpB,MAAM,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACrC,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,OAAe;IAEf,MAAM,IAAI,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC1C,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC3C,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAK,GAA6B,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QAClE,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC;AAcD;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,OAAe,EACf,EAAqB,EACrB,YAAqB,EACrB,KAAwB;IAExB,mEAAmE;IACnE,qEAAqE;IACrE,iEAAiE;IACjE,MAAM,IAAI,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC1C,MAAM,OAAO,GAAG,gBAAgB,CAAC,EAAE,CAAC,CAAC;IAErC,IAAI,UAAU,GAAG,IAAI,CAAC;IACtB,IAAI,CAAC;QACH,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAK,GAA6B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACrD,UAAU,GAAG,KAAK,CAAC;QACrB,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;IAED,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,iBAAiB,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QACjD,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,uDAAuD,CAAC,CAAC;QAC/E,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;IACxE,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,wBAAwB,CAAC,OAAO,CAAC,CAAC;IACvD,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QAC1B,MAAM,CAAC,IAAI,CACT,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,EAC5D,6DAA6D,CAC9D,CAAC;QACF,MAAM,iBAAiB,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QACjD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;IACzE,CAAC;IAED,MAAM,MAAM,GAAG,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;IAC/D,uEAAuE;IACvE,sEAAsE;IACtE,mEAAmE;IACnE,2DAA2D;IAC3D,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,YAAY;QAC3C,CAAC,CAAC,0BAA0B,CAAC,MAAM,EAAE,OAAO,EAAE,YAAY,CAAC;QAC3D,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,EAAwB,EAAE,CAAC;IAC/D,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,CAAC,IAAI,CACT,EAAE,IAAI,EAAE,UAAU,EAAE,EACpB,8EAA8E,CAC/E,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC/B,iBAAiB,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;QAChC,MAAM,CAAC,IAAI,CACT,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,EAClD,6CAA6C,CAC9C,CAAC;IACJ,CAAC;IACD,sEAAsE;IACtE,qEAAqE;IACrE,mBAAmB;IACnB,MAAM,iBAAiB,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IAClD,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/B,MAAM,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,EAAE,+BAA+B,CAAC,CAAC;IAC9E,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;AACtE,CAAC;AAED,SAAS,iBAAiB,CACxB,OAA2B,EAC3B,MAAyD;IAEzD,MAAM,MAAM,GAAG,EAAE,GAAG,OAAO,EAAwB,CAAC;IACpD,KAAK,MAAM,GAAG,IAAI,gBAAgB,EAAE,CAAC;QACnC,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QACzB,IAAI,CAAC,IAAI;YAAE,SAAS;QACpB,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QAC1B,MAAM,cAAc,GAClB,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI;YACvB,CAAC,IAAI,CAAC,gBAAgB,IAAI,SAAS,CAAC;gBAClC,CAAC,IAAI,CAAC,gBAAgB,IAAI,SAAS,CAAC,CAAC;QACzC,IAAI,cAAc,EAAE,CAAC;YACnB,MAAM,CAAC,GAAG,CAAC,GAAG;gBACZ,GAAG,IAAI;gBACP,aAAa,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACxC,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAQD;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,0BAA0B,CACxC,MAA0B,EAC1B,OAA2B,EAC3B,YAAoB;IAEpB,MAAM,QAAQ,GAAG,EAAE,GAAG,MAAM,EAAwB,CAAC;IACrD,MAAM,UAAU,GAAuB,EAAE,CAAC;IAC1C,KAAK,MAAM,GAAG,IAAI,gBAAgB,EAAE,CAAC;QACnC,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QACzB,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,IAAI,CAAC,gBAAgB;YAAE,SAAS;QAClE,qEAAqE;QACrE,kEAAkE;QAClE,0DAA0D;QAC1D,+DAA+D;QAC/D,oEAAoE;QACpE,mEAAmE;QACnE,mEAAmE;QACnE,qEAAqE;QACrE,6CAA6C;QAC7C,MAAM,eAAe,GACnB,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI;YACvB,CAAC,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,CAAC;QACtE,IAAI,CAAC,eAAe;YAAE,SAAS;QAC/B,MAAM,OAAO,GAAG,wBAAwB,CACtC,YAAY,EACZ,GAAG,EACH,IAAI,CAAC,gBAAgB,CACtB,CAAC;QACF,MAAM,KAAK,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;QACxD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QACjC,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;QACrB,UAAU,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;IAC3E,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;AAClC,CAAC;AAED,SAAS,OAAO,CAAC,CAAqB,EAAE,CAAqB;IAC3D,KAAK,MAAM,GAAG,IAAI,gBAAgB,EAAE,CAAC;QACnC,IACE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI;YAC3B,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,gBAAgB,IAAI,SAAS,CAAC;gBACpC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,gBAAgB,IAAI,SAAS,CAAC,EACxC,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,QAAQ,CACf,CAAqB,EACrB,CAAqB;IAErB,OAAO,gBAAgB,CAAC,MAAM,CAC5B,CAAC,GAAG,EAAE,EAAE,CACN,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI;QAC3B,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,gBAAgB,IAAI,SAAS,CAAC;YACpC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,gBAAgB,IAAI,SAAS,CAAC,CAC3C,CAAC;AACJ,CAAC;AAiCD;;;;;;;;;GASG;AACH,MAAM,UAAU,wBAAwB,CACtC,OAAe,EACf,EAAqB,EACrB,UAAsC,EAAE;IAExC,MAAM,IAAI,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC1C,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE;QACnC,UAAU,EAAE,IAAI;QAChB,aAAa,EAAE,IAAI;QACnB,gBAAgB,EAAE;YAChB,kBAAkB,EAAE,GAAG;YACvB,YAAY,EAAE,GAAG;SAClB;KACF,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,KAAK,EAAE,MAAwB,EAAiB,EAAE;QAC/D,IAAI,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3B,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,qCAAqC,CAAC,CAAC;YACtE,OAAO;QACT,CAAC;QACD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,wBAAwB,CAAC,OAAO,CAAC,CAAC;YACvD,IAAI,CAAC,MAAM;gBAAE,OAAO;YACpB,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;gBACf,MAAM,CAAC,IAAI,CACT,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,EAC1D,kDAAkD,CACnD,CAAC;gBACF,MAAM,OAAO,GAAG,gBAAgB,CAAC,EAAE,CAAC,CAAC;gBACrC,MAAM,iBAAiB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;gBACtE,OAAO;YACT,CAAC;YACD,MAAM,OAAO,GAAG,gBAAgB,CAAC,EAAE,CAAC,CAAC;YACrC,MAAM,MAAM,GAAG,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;YAC/D,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,YAAY;gBACnD,CAAC,CAAC,0BAA0B,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC;gBACnE,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,EAAwB,EAAE,CAAC;YAC/D,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1B,MAAM,CAAC,IAAI,CACT,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,EAC5B,8EAA8E,CAC/E,CAAC;gBACF,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;oBAC7B,IAAI,CAAC;wBACH,MAAM,OAAO,CAAC,gBAAgB,CAAC;4BAC7B,OAAO,EAAE,aAAa,CAAC,UAAU,CAAC;4BAClC,gBAAgB,EAAE,6BAA6B;4BAC/C,QAAQ,EAAE,QAAQ;yBACnB,CAAC,CAAC;oBACL,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,MAAM,CAAC,IAAI,CACT,EAAE,GAAG,EAAE,UAAU,EAAE,EACnB,kEAAkE,CACnE,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;YACD,IAAI,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,CAAC;gBAC/B,iBAAiB,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;gBAChC,MAAM,CAAC,IAAI,CACT,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,EAC1D,oCAAoC,CACrC,CAAC;gBACF,+DAA+D;gBAC/D,iCAAiC;gBACjC,MAAM,iBAAiB,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;YACzE,CAAC;iBAAM,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACjC,2DAA2D;gBAC3D,gEAAgE;gBAChE,gEAAgE;gBAChE,oCAAoC;gBACpC,MAAM,iBAAiB,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;YACzE,CAAC;iBAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtC,MAAM,CAAC,IAAI,CACT,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,EAC7B,yDAAyD,CAC1D,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,uCAAuC,CAAC,CAAC;QACvE,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,KAAK,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;IAClD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,KAAK,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAC5C,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAY,EAAE,EAAE,CACnC,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,+BAA+B,CAAC,CACvD,CAAC;IAEF,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,iCAAiC,CAAC,CAAC;IAEzD,OAAO;QACL,KAAK,CAAC,IAAI;YACR,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;YACtB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,iCAAiC,CAAC,CAAC;QAC3D,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,UAA8B;IACnD,MAAM,KAAK,GAAG;QACZ,6BAA6B,UAAU,CAAC,MAAM,wDAAwD;KACvG,CAAC;IACF,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CACR,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,UAAU,CACzD,CAAC;QACF,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;YAC1B,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IACD,KAAK,CAAC,IAAI,CACR,oGAAoG,CACrG,CAAC;IACF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
|
|
1
|
+
{"version":3,"file":"management-md.js","sourceRoot":"","sources":["../../src/core/management-md.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Output language policy — one source of truth for the rule injected into
|
|
3
|
+
* every backend session.
|
|
4
|
+
*
|
|
5
|
+
* Design: `docs/design/appendices/output-language-policy.md`
|
|
6
|
+
*
|
|
7
|
+
* Two surfaces consume this module:
|
|
8
|
+
*
|
|
9
|
+
* 1. `ContextBuilder` (per-turn XML context). `renderOutputLanguagePolicyBlock`
|
|
10
|
+
* emits the full `<output_language_policy>` block alongside
|
|
11
|
+
* `<settings primary_language=…>`. Refreshes every turn, so it
|
|
12
|
+
* tracks runtime `PATCH /api/config` changes to `primaryLanguage`.
|
|
13
|
+
*
|
|
14
|
+
* 2. `skills-compiler` (persistent system prompt). The renderer in the
|
|
15
|
+
* instruction-file path emits the much shorter
|
|
16
|
+
* `## Output language` pointer paragraph. Identical byte-for-byte
|
|
17
|
+
* across CLAUDE.md / AGENTS.md / GEMINI.md so the agent reads the
|
|
18
|
+
* same rule on every backend; intentionally carries NO value
|
|
19
|
+
* substitutions (no inlined `primaryLanguage`) — the live value
|
|
20
|
+
* lives in the per-turn XML and would go stale here.
|
|
21
|
+
*
|
|
22
|
+
* Treat both renderers as the unique source of the policy text. The
|
|
23
|
+
* grep guard in `output-language-policy.test.ts` enforces this — adding
|
|
24
|
+
* the same prose elsewhere will fail CI.
|
|
25
|
+
*/
|
|
26
|
+
/**
|
|
27
|
+
* Sentinel substring that any duplicate of the policy text would contain.
|
|
28
|
+
* The grep guard test scans `src/` and `agent-assets/` (excluding this
|
|
29
|
+
* file and the related test) for the sentinel and fails CI if it
|
|
30
|
+
* appears anywhere else.
|
|
31
|
+
*/
|
|
32
|
+
export declare const OUTPUT_LANGUAGE_POLICY_SENTINEL = "Apply primary_language to:";
|
|
33
|
+
/**
|
|
34
|
+
* Full `<output_language_policy>` block, populated with the current
|
|
35
|
+
* `primaryLanguage`. Injected by `ContextBuilder` once per turn,
|
|
36
|
+
* immediately after the existing `<settings primary_language=… />`
|
|
37
|
+
* line.
|
|
38
|
+
*/
|
|
39
|
+
export declare function renderOutputLanguagePolicyBlock(primaryLanguage: string): string;
|
|
40
|
+
/** Heading line used by the instruction-file pointer block. */
|
|
41
|
+
export declare const OUTPUT_LANGUAGE_POINTER_HEADING = "## Output language";
|
|
42
|
+
/**
|
|
43
|
+
* Insert the `## Output language` pointer block into the rendered Claude
|
|
44
|
+
* instruction body. Placement mirrors the design §13.3 stack ordering —
|
|
45
|
+
* after safety, after the user-defined character block (if any), and
|
|
46
|
+
* before the runtime profile body.
|
|
47
|
+
*
|
|
48
|
+
* Placement search order:
|
|
49
|
+
*
|
|
50
|
+
* 1. Right after the character-block end marker (`<!-- character:end -->`
|
|
51
|
+
* followed by the FOOTER paragraph and a blank line). When the
|
|
52
|
+
* character block is present this is the natural "below character"
|
|
53
|
+
* seam.
|
|
54
|
+
* 2. Right after the safety-end sentinel when the character block is
|
|
55
|
+
* absent.
|
|
56
|
+
* 3. Before the first `## ` section heading as a final fallback for
|
|
57
|
+
* legacy bodies that carry neither sentinel.
|
|
58
|
+
*
|
|
59
|
+
* Idempotent: a body that already contains the heading is returned
|
|
60
|
+
* unchanged. This matters because `applyCharacterBlockRewrite` is
|
|
61
|
+
* idempotent in the same way and the two helpers may run in succession
|
|
62
|
+
* across re-materialization.
|
|
63
|
+
*/
|
|
64
|
+
export declare function applyOutputLanguagePointerRewrite(content: string): string;
|
|
65
|
+
/**
|
|
66
|
+
* Short `## Output language` pointer paragraph inlined verbatim into
|
|
67
|
+
* CLAUDE.md / AGENTS.md / GEMINI.md by `skills-compiler`. Declarative,
|
|
68
|
+
* no value substitutions — the live `primaryLanguage` is carried by
|
|
69
|
+
* the per-turn `<output_language_policy>` XML block instead, so the
|
|
70
|
+
* instruction file never goes stale when the user PATCHes the setting
|
|
71
|
+
* mid-session. See design §13.4 / §13.5.
|
|
72
|
+
*/
|
|
73
|
+
export declare function renderOutputLanguagePolicyPointer(): string;
|
|
74
|
+
//# sourceMappingURL=output-language-policy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"output-language-policy.d.ts","sourceRoot":"","sources":["../../src/core/output-language-policy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAKH;;;;;GAKG;AACH,eAAO,MAAM,+BAA+B,+BACd,CAAC;AAE/B;;;;;GAKG;AACH,wBAAgB,+BAA+B,CAC7C,eAAe,EAAE,MAAM,GACtB,MAAM,CA2CR;AAED,+DAA+D;AAC/D,eAAO,MAAM,+BAA+B,uBAAuB,CAAC;AAQpE;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,iCAAiC,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CA4CzE;AAQD;;;;;;;GAOG;AACH,wBAAgB,iCAAiC,IAAI,MAAM,CAsB1D"}
|