@intutic/sync-daemon 2.0.0 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agentReporter.d.ts +5 -12
- package/dist/agentReporter.d.ts.map +1 -1
- package/dist/agentReporter.js +25 -4
- package/dist/agentReporter.js.map +1 -1
- package/dist/configReader.d.ts +44 -22
- package/dist/configReader.d.ts.map +1 -1
- package/dist/configReader.js +70 -44
- package/dist/configReader.js.map +1 -1
- package/dist/configWriter.d.ts +29 -41
- package/dist/configWriter.d.ts.map +1 -1
- package/dist/configWriter.js +28 -625
- package/dist/configWriter.js.map +1 -1
- package/dist/disconnect/harnesses.d.ts +31 -0
- package/dist/disconnect/harnesses.d.ts.map +1 -0
- package/dist/disconnect/harnesses.js +728 -0
- package/dist/disconnect/harnesses.js.map +1 -0
- package/dist/disconnect/index.d.ts +25 -0
- package/dist/disconnect/index.d.ts.map +1 -0
- package/dist/disconnect/index.js +82 -0
- package/dist/disconnect/index.js.map +1 -0
- package/dist/disconnect/mcp.d.ts +60 -0
- package/dist/disconnect/mcp.d.ts.map +1 -0
- package/dist/disconnect/mcp.js +283 -0
- package/dist/disconnect/mcp.js.map +1 -0
- package/dist/disconnect/originals.d.ts +88 -0
- package/dist/disconnect/originals.d.ts.map +1 -0
- package/dist/disconnect/originals.js +257 -0
- package/dist/disconnect/originals.js.map +1 -0
- package/dist/disconnect/plan.d.ts +175 -0
- package/dist/disconnect/plan.d.ts.map +1 -0
- package/dist/disconnect/plan.js +580 -0
- package/dist/disconnect/plan.js.map +1 -0
- package/dist/disconnect/recognise.d.ts +43 -0
- package/dist/disconnect/recognise.d.ts.map +1 -0
- package/dist/disconnect/recognise.js +98 -0
- package/dist/disconnect/recognise.js.map +1 -0
- package/dist/disconnect/tomlLines.d.ts +39 -0
- package/dist/disconnect/tomlLines.d.ts.map +1 -0
- package/dist/disconnect/tomlLines.js +105 -0
- package/dist/disconnect/tomlLines.js.map +1 -0
- package/dist/harness/aiderConfigMerger.d.ts +42 -5
- package/dist/harness/aiderConfigMerger.d.ts.map +1 -1
- package/dist/harness/aiderConfigMerger.js +113 -86
- package/dist/harness/aiderConfigMerger.js.map +1 -1
- package/dist/harness/antigravityHooks.d.ts +13 -8
- package/dist/harness/antigravityHooks.d.ts.map +1 -1
- package/dist/harness/antigravityHooks.js +53 -39
- package/dist/harness/antigravityHooks.js.map +1 -1
- package/dist/harness/claudeCodeHooks.d.ts +1 -2
- package/dist/harness/claudeCodeHooks.d.ts.map +1 -1
- package/dist/harness/claudeCodeHooks.js +61 -34
- package/dist/harness/claudeCodeHooks.js.map +1 -1
- package/dist/harness/claudeDesktopHooks.d.ts +3 -0
- package/dist/harness/claudeDesktopHooks.d.ts.map +1 -1
- package/dist/harness/claudeDesktopHooks.js +3 -1
- package/dist/harness/claudeDesktopHooks.js.map +1 -1
- package/dist/harness/claudeProjectApproval.d.ts +53 -0
- package/dist/harness/claudeProjectApproval.d.ts.map +1 -0
- package/dist/harness/claudeProjectApproval.js +159 -0
- package/dist/harness/claudeProjectApproval.js.map +1 -0
- package/dist/harness/clineHooks.d.ts +39 -9
- package/dist/harness/clineHooks.d.ts.map +1 -1
- package/dist/harness/clineHooks.js +142 -60
- package/dist/harness/clineHooks.js.map +1 -1
- package/dist/harness/codexConfigMerger.d.ts +38 -0
- package/dist/harness/codexConfigMerger.d.ts.map +1 -0
- package/dist/harness/codexConfigMerger.js +105 -0
- package/dist/harness/codexConfigMerger.js.map +1 -0
- package/dist/harness/codexHooks.d.ts +4 -2
- package/dist/harness/codexHooks.d.ts.map +1 -1
- package/dist/harness/codexHooks.js +14 -11
- package/dist/harness/codexHooks.js.map +1 -1
- package/dist/harness/continueConfigMerger.d.ts +46 -0
- package/dist/harness/continueConfigMerger.d.ts.map +1 -0
- package/dist/harness/continueConfigMerger.js +94 -0
- package/dist/harness/continueConfigMerger.js.map +1 -0
- package/dist/harness/continueHooks.d.ts +15 -25
- package/dist/harness/continueHooks.d.ts.map +1 -1
- package/dist/harness/continueHooks.js +25 -119
- package/dist/harness/continueHooks.js.map +1 -1
- package/dist/harness/cursorHooks.d.ts +33 -16
- package/dist/harness/cursorHooks.d.ts.map +1 -1
- package/dist/harness/cursorHooks.js +69 -25
- package/dist/harness/cursorHooks.js.map +1 -1
- package/dist/harness/dshHooks.d.ts +59 -52
- package/dist/harness/dshHooks.d.ts.map +1 -1
- package/dist/harness/dshHooks.js +152 -147
- package/dist/harness/dshHooks.js.map +1 -1
- package/dist/harness/gateBody.d.ts +11 -2
- package/dist/harness/gateBody.d.ts.map +1 -1
- package/dist/harness/gateBody.js +33 -6
- package/dist/harness/gateBody.js.map +1 -1
- package/dist/harness/gateKind.d.ts.map +1 -1
- package/dist/harness/gateKind.js +1 -0
- package/dist/harness/gateKind.js.map +1 -1
- package/dist/harness/githubCopilotHooks.d.ts.map +1 -1
- package/dist/harness/githubCopilotHooks.js +5 -10
- package/dist/harness/githubCopilotHooks.js.map +1 -1
- package/dist/harness/gooseHooks.d.ts +15 -0
- package/dist/harness/gooseHooks.d.ts.map +1 -1
- package/dist/harness/gooseHooks.js +55 -43
- package/dist/harness/gooseHooks.js.map +1 -1
- package/dist/harness/grokHooks.d.ts.map +1 -1
- package/dist/harness/grokHooks.js +14 -12
- package/dist/harness/grokHooks.js.map +1 -1
- package/dist/harness/hermesHooks.d.ts +9 -0
- package/dist/harness/hermesHooks.d.ts.map +1 -1
- package/dist/harness/hermesHooks.js +39 -33
- package/dist/harness/hermesHooks.js.map +1 -1
- package/dist/harness/holdRedaction.d.ts +4 -1
- package/dist/harness/holdRedaction.d.ts.map +1 -1
- package/dist/harness/holdRedaction.js +32 -8
- package/dist/harness/holdRedaction.js.map +1 -1
- package/dist/harness/jetbrainsXmlConfig.d.ts +20 -0
- package/dist/harness/jetbrainsXmlConfig.d.ts.map +1 -1
- package/dist/harness/jetbrainsXmlConfig.js +39 -18
- package/dist/harness/jetbrainsXmlConfig.js.map +1 -1
- package/dist/harness/jsonMergeTarget.d.ts +23 -0
- package/dist/harness/jsonMergeTarget.d.ts.map +1 -0
- package/dist/harness/jsonMergeTarget.js +50 -0
- package/dist/harness/jsonMergeTarget.js.map +1 -0
- package/dist/harness/mcpAutoWrite.d.ts +64 -20
- package/dist/harness/mcpAutoWrite.d.ts.map +1 -1
- package/dist/harness/mcpAutoWrite.js +429 -85
- package/dist/harness/mcpAutoWrite.js.map +1 -1
- package/dist/harness/museHooks.d.ts.map +1 -1
- package/dist/harness/museHooks.js +6 -2
- package/dist/harness/museHooks.js.map +1 -1
- package/dist/harness/n8nHooks.d.ts.map +1 -1
- package/dist/harness/n8nHooks.js +6 -7
- package/dist/harness/n8nHooks.js.map +1 -1
- package/dist/harness/openCodeHooks.d.ts +37 -6
- package/dist/harness/openCodeHooks.d.ts.map +1 -1
- package/dist/harness/openCodeHooks.js +103 -13
- package/dist/harness/openCodeHooks.js.map +1 -1
- package/dist/harness/openWebuiHooks.d.ts.map +1 -1
- package/dist/harness/openWebuiHooks.js +10 -5
- package/dist/harness/openWebuiHooks.js.map +1 -1
- package/dist/harness/openclawHooks.d.ts +5 -0
- package/dist/harness/openclawHooks.d.ts.map +1 -1
- package/dist/harness/openclawHooks.js +3 -1
- package/dist/harness/openclawHooks.js.map +1 -1
- package/dist/harness/openhandsHooks.d.ts +26 -1
- package/dist/harness/openhandsHooks.d.ts.map +1 -1
- package/dist/harness/openhandsHooks.js +160 -40
- package/dist/harness/openhandsHooks.js.map +1 -1
- package/dist/harness/piHooks.d.ts +17 -0
- package/dist/harness/piHooks.d.ts.map +1 -1
- package/dist/harness/piHooks.js +31 -29
- package/dist/harness/piHooks.js.map +1 -1
- package/dist/harness/protectedPaths.d.ts +64 -6
- package/dist/harness/protectedPaths.d.ts.map +1 -1
- package/dist/harness/protectedPaths.js +161 -11
- package/dist/harness/protectedPaths.js.map +1 -1
- package/dist/harness/rooCodeHooks.d.ts.map +1 -1
- package/dist/harness/rooCodeHooks.js +5 -10
- package/dist/harness/rooCodeHooks.js.map +1 -1
- package/dist/harness/windsurfHooks.d.ts +21 -3
- package/dist/harness/windsurfHooks.d.ts.map +1 -1
- package/dist/harness/windsurfHooks.js +96 -44
- package/dist/harness/windsurfHooks.js.map +1 -1
- package/dist/harness/windsurfJetBrainsProxy.d.ts +10 -7
- package/dist/harness/windsurfJetBrainsProxy.d.ts.map +1 -1
- package/dist/harness/windsurfJetBrainsProxy.js +22 -7
- package/dist/harness/windsurfJetBrainsProxy.js.map +1 -1
- package/dist/index.d.ts +12 -12
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +11 -10
- package/dist/index.js.map +1 -1
- package/dist/lib/decisionsDigest.d.ts +1 -1
- package/dist/lib/decisionsDigest.js +1 -1
- package/dist/lib/policySnapshot.d.ts +37 -0
- package/dist/lib/policySnapshot.d.ts.map +1 -1
- package/dist/lib/policySnapshot.js +170 -8
- package/dist/lib/policySnapshot.js.map +1 -1
- package/dist/sessionReporter.d.ts +2 -2
- package/dist/sessionReporter.js +2 -2
- package/dist/syncCycle.d.ts +142 -0
- package/dist/syncCycle.d.ts.map +1 -0
- package/dist/syncCycle.js +315 -0
- package/dist/syncCycle.js.map +1 -0
- package/dist/trajectoryMonitor.d.ts +1 -1
- package/dist/trajectoryMonitor.d.ts.map +1 -1
- package/dist/trajectoryMonitor.js +1 -1
- package/dist/trajectoryMonitor.js.map +1 -1
- package/dist/watcher/settingsGuard.d.ts +4 -1
- package/dist/watcher/settingsGuard.d.ts.map +1 -1
- package/dist/watcher/settingsGuard.js +42 -18
- package/dist/watcher/settingsGuard.js.map +1 -1
- package/package.json +6 -6
- package/dist/hashReporter.d.ts +0 -33
- package/dist/hashReporter.d.ts.map +0 -1
- package/dist/hashReporter.js +0 -69
- package/dist/hashReporter.js.map +0 -1
- package/dist/integrityStore.d.ts +0 -35
- package/dist/integrityStore.d.ts.map +0 -1
- package/dist/integrityStore.js +0 -71
- package/dist/integrityStore.js.map +0 -1
- package/dist/lib/gitWorktrees.d.ts +0 -140
- package/dist/lib/gitWorktrees.d.ts.map +0 -1
- package/dist/lib/gitWorktrees.js +0 -191
- package/dist/lib/gitWorktrees.js.map +0 -1
- package/dist/syncLoop.d.ts +0 -172
- package/dist/syncLoop.d.ts.map +0 -1
- package/dist/syncLoop.js +0 -878
- package/dist/syncLoop.js.map +0 -1
package/dist/harness/dshHooks.js
CHANGED
|
@@ -21,11 +21,11 @@
|
|
|
21
21
|
* Muse Code/Grok Build in Wave 1. This writer was authored against a real
|
|
22
22
|
* `npm pack` + read of those packages' shipped `.d.ts`/README files, not
|
|
23
23
|
* solely the phase brief's prior research (see the TD entry this phase filed
|
|
24
|
-
* for exactly what was checked
|
|
25
|
-
* dsh-
|
|
26
|
-
*
|
|
27
|
-
* dsh-
|
|
28
|
-
* `dsh-
|
|
24
|
+
* for exactly what was checked). In 0.1 three packages (dsh-permission,
|
|
25
|
+
* dsh-settings-local, dsh-fs-policy) 404'd as restricted; 0.2.0-rc.2 no
|
|
26
|
+
* longer depends on them — their roles moved to the public `dsh-settings`,
|
|
27
|
+
* `dsh-config-editor`, `dsh-sandbox-policy`, `dsh-permission-presets` and
|
|
28
|
+
* `dsh-user-approval`, all read directly for the 0.2 re-verification.
|
|
29
29
|
*
|
|
30
30
|
* Confirmed facts this writer relies on:
|
|
31
31
|
*
|
|
@@ -56,30 +56,31 @@
|
|
|
56
56
|
* for out-of-tree plugins) — which means `@intutic/gate` must actually be
|
|
57
57
|
* installed there; see {@link mergeProfileDependency} and the TD entry
|
|
58
58
|
* for why this writer cannot run `pnpm install` on the user's behalf.
|
|
59
|
-
* -
|
|
60
|
-
*
|
|
61
|
-
*
|
|
62
|
-
*
|
|
63
|
-
*
|
|
64
|
-
*
|
|
65
|
-
*
|
|
66
|
-
*
|
|
67
|
-
* mounts
|
|
68
|
-
*
|
|
69
|
-
*
|
|
70
|
-
*
|
|
71
|
-
*
|
|
72
|
-
*
|
|
73
|
-
*
|
|
74
|
-
*
|
|
75
|
-
*
|
|
76
|
-
*
|
|
77
|
-
*
|
|
78
|
-
*
|
|
79
|
-
*
|
|
80
|
-
* `llm-
|
|
81
|
-
*
|
|
82
|
-
*
|
|
59
|
+
* - **LLM egress, re-verified against dsh 0.2.0-rc.2 (TD-370, 2026-10-03).**
|
|
60
|
+
* 0.2 removed the harness-home `settings.yaml` document this writer used
|
|
61
|
+
* to merge into: `@deepseek-ai/dsh-settings` now imports a leftover
|
|
62
|
+
* `$DSH_HOME/settings.yaml` ONCE into whichever profile boots first
|
|
63
|
+
* (renaming it to `settings.yaml.imported`), and live configuration
|
|
64
|
+
* lives in each profile's `cordis.patch.yml` as an id-targeted override
|
|
65
|
+
* row (`dsh-config-editor` persists Models-page edits the same way). The
|
|
66
|
+
* default route is still the entry id `llm-deepseek` — in 0.2 that id
|
|
67
|
+
* mounts `@deepseek-ai/dsh-llm-deepseek-api-key`, which registers the
|
|
68
|
+
* `deepseek-official` provider `dsh-base`'s `agent-default-model` row
|
|
69
|
+
* selects (`provider: deepseek-official, model: deepseek-flash`) — and
|
|
70
|
+
* `dsh-llm-deepseek`'s README confirms its endpoint resolves "explicit
|
|
71
|
+
* value, then `$DEEPSEEK_BASE_URL`, then the official root"
|
|
72
|
+
* (`https://api.deepseek.com/anthropic`, Messages wire format; requests
|
|
73
|
+
* go to `<baseURL>/v1/messages`). {@link mergeProfileLlmRoute} therefore
|
|
74
|
+
* sets `config.baseURL` on that entry's override row in every profile
|
|
75
|
+
* patch. Observed live (uat/evidence/live-verify/dsh-0.2.md): a headless
|
|
76
|
+
* 0.2.0-rc.2 session sent every model request to the configured base URL.
|
|
77
|
+
* Two routes are deliberately NOT redirected: `llm-pi-ai` (0.2 refuses a
|
|
78
|
+
* hand-declared route without a non-empty `models` list, so the old
|
|
79
|
+
* `providers.intutic` route is now invalid config — dropped), and
|
|
80
|
+
* `llm-deepseek-account` (`deepseek-account` provider; its token is only
|
|
81
|
+
* released to `inferenceOrigin`, which accepts an alternate origin only
|
|
82
|
+
* with a grant from DeepSeek's platform — an opt-in, signed-in route this
|
|
83
|
+
* writer cannot point at a proxy). See the TD entry.
|
|
83
84
|
* - The `@intutic/gate/dsh` veto contract itself (`tools/pre-execute`,
|
|
84
85
|
* `PreToolDecision`'s real `'deny'`/`'allow'`/`'ask'` shape, Cordis's
|
|
85
86
|
* `waterfall` `next()` semantics) is confirmed from `dsh-tools`'s shipped
|
|
@@ -95,8 +96,10 @@ import { existsSync } from 'node:fs';
|
|
|
95
96
|
import * as path from 'node:path';
|
|
96
97
|
import * as os from 'node:os';
|
|
97
98
|
import { isDeepStrictEqual } from 'node:util';
|
|
98
|
-
import {
|
|
99
|
+
import { isSeq, parseDocument } from 'yaml';
|
|
99
100
|
import { createLogger } from '@intutic/logger';
|
|
101
|
+
import { keepOriginal, noteWritten } from '../disconnect/originals.js';
|
|
102
|
+
import { anthropicBaseUrl } from '@intutic/shared-types';
|
|
100
103
|
const log = createLogger('sync-dsh-hooks');
|
|
101
104
|
/** Mirrors `dsh-home-paths`' `DSH_HOME_ENV`/`DSH_HOME_DIR_NAME` constants. */
|
|
102
105
|
const DSH_HOME_ENV = 'DSH_HOME';
|
|
@@ -104,19 +107,19 @@ const DSH_HOME_DIR_NAME = '.dsh';
|
|
|
104
107
|
/** Mirrors `dsh-app-boot`'s `PROFILES_DIR`/`PROFILE_PATCH_FILENAME`. */
|
|
105
108
|
const PROFILES_DIR = 'profiles';
|
|
106
109
|
const PROFILE_PATCH_FILENAME = 'cordis.patch.yml';
|
|
107
|
-
const SETTINGS_FILENAME = 'settings.yaml';
|
|
108
110
|
/** Stable row id — recognized on every later sync regardless of which of the
|
|
109
111
|
* patch-op shapes (see module doc) a prior write or a human left. */
|
|
110
112
|
const PLUGIN_ROW_ID = 'intutic-governance';
|
|
111
113
|
/** Resolved via a bare `import()` from the profile's own `node_modules` — see
|
|
112
114
|
* {@link mergeProfileDependency}. */
|
|
113
115
|
const PLUGIN_MODULE_NAME = '@intutic/gate/dsh';
|
|
114
|
-
/** The
|
|
115
|
-
*
|
|
116
|
-
*
|
|
117
|
-
*
|
|
118
|
-
*
|
|
119
|
-
|
|
116
|
+
/** The `@intutic/gate` range declared in a profile's `package.json` when the
|
|
117
|
+
* profile declares none yet. Must name a version that exists on npm with a
|
|
118
|
+
* `./dsh` export — this was `^0.1.0` until 2026-10-03, which no published
|
|
119
|
+
* `@intutic/gate` satisfies (npm has 1.10.1 and 2.0.0), so a `pnpm install`
|
|
120
|
+
* in the profile could never resolve it. Bump with
|
|
121
|
+
* `packages/gate-js/package.json`'s major version. */
|
|
122
|
+
const INTUTIC_GATE_VERSION_RANGE = '^2.0.0';
|
|
120
123
|
/** `$DSH_HOME` resolution: an explicit env override, else `~/.dsh` — mirrors
|
|
121
124
|
* `dsh-home-paths`' `resolveDshHome()` (this writer has no "explicit
|
|
122
125
|
* configured path" input the way a booted dsh process might). An
|
|
@@ -328,10 +331,19 @@ export async function mergeProfilePatch(profileDir, workspaceRoot, workspaceId)
|
|
|
328
331
|
* writer in this codebase only ever writes config, never invokes a package
|
|
329
332
|
* manager on the user's behalf. Until the user (or their own tooling) runs
|
|
330
333
|
* one, the `cordis.patch.yml` row this module also writes resolves to a
|
|
331
|
-
* MISSING module
|
|
332
|
-
*
|
|
333
|
-
*
|
|
334
|
-
*
|
|
334
|
+
* MISSING module. Observed live against dsh 0.2.0-rc.2: the loader prints
|
|
335
|
+
* `dsh: warning: 1 entry did not activate` / `intutic-governance
|
|
336
|
+
* (@intutic/gate/dsh): failed to import` on stderr and the session then runs
|
|
337
|
+
* UNGOVERNED — loud, but fail-OPEN (dsh's hard-fail list is global to the
|
|
338
|
+
* launcher; a profile row cannot mark itself required). See the TD entry and
|
|
339
|
+
* `apps/docs/integrations/dsh.md`.
|
|
340
|
+
*
|
|
341
|
+
* Adds the declaration only when the profile has none: an existing one was
|
|
342
|
+
* written by `dsh plugin --profile <name> add @intutic/gate` (pnpm records
|
|
343
|
+
* the installed range, e.g. `^2.0.0`) or by the user, and rewriting it to this
|
|
344
|
+
* writer's range on every sync would drift the manifest away from what is
|
|
345
|
+
* actually installed — observed live against dsh 0.2.0-rc.2, where the old
|
|
346
|
+
* `^0.1.0` overwrote pnpm's `^2.0.0`.
|
|
335
347
|
*/
|
|
336
348
|
export async function mergeProfileDependency(profileDir) {
|
|
337
349
|
const manifestPath = path.join(profileDir, 'package.json');
|
|
@@ -347,7 +359,7 @@ export async function mergeProfileDependency(profileDir) {
|
|
|
347
359
|
const deps = (manifest.dependencies && typeof manifest.dependencies === 'object'
|
|
348
360
|
? manifest.dependencies
|
|
349
361
|
: {});
|
|
350
|
-
if (deps['@intutic/gate'] ===
|
|
362
|
+
if (typeof deps['@intutic/gate'] === 'string' && deps['@intutic/gate'].trim())
|
|
351
363
|
return;
|
|
352
364
|
manifest.dependencies = { ...deps, '@intutic/gate': INTUTIC_GATE_VERSION_RANGE };
|
|
353
365
|
const tmp = manifestPath + '.intutic-tmp';
|
|
@@ -355,120 +367,104 @@ export async function mergeProfileDependency(profileDir) {
|
|
|
355
367
|
await fs.rename(tmp, manifestPath);
|
|
356
368
|
log.info({ action: 'dsh_dependency_written', path: manifestPath }, 'dsh profile package.json dependency updated');
|
|
357
369
|
}
|
|
358
|
-
// ───
|
|
359
|
-
/** dsh's
|
|
360
|
-
*
|
|
361
|
-
*
|
|
362
|
-
*
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
370
|
+
// ─── cordis.patch.yml: llm-deepseek egress override (dsh's default route) ──
|
|
371
|
+
/** The profile entry id of dsh's DEFAULT LLM route. In 0.2 it mounts
|
|
372
|
+
* `@deepseek-ai/dsh-llm-deepseek-api-key` (provider `deepseek-official`, the
|
|
373
|
+
* one `dsh-base`'s `agent-default-model` row selects). No module-name
|
|
374
|
+
* assertion is written alongside it: an id-targeted row without `name`
|
|
375
|
+
* survives DeepSeek renaming the module again (0.1 named it
|
|
376
|
+
* `dsh-llm-deepseek`), where a stale assertion would fail profile boot. */
|
|
377
|
+
const DEFAULT_LLM_ENTRY_ID = 'llm-deepseek';
|
|
378
|
+
/** Index of the LAST bare (not `insert:`-wrapped) row targeting
|
|
379
|
+
* {@link DEFAULT_LLM_ENTRY_ID} — the loader applies patch rows in order, so
|
|
380
|
+
* the last one is the override that takes effect, and it is also the one
|
|
381
|
+
* `dsh-config-editor` edits when the user saves the Models page. */
|
|
382
|
+
function findLastLlmOverride(patchList) {
|
|
383
|
+
for (let i = patchList.length - 1; i >= 0; i--) {
|
|
384
|
+
const item = patchList[i];
|
|
385
|
+
if (!item || typeof item !== 'object' || Array.isArray(item))
|
|
386
|
+
continue;
|
|
387
|
+
const obj = item;
|
|
388
|
+
if (obj.id === DEFAULT_LLM_ENTRY_ID && !('insert' in obj))
|
|
389
|
+
return i;
|
|
374
390
|
}
|
|
375
|
-
|
|
376
|
-
return;
|
|
377
|
-
const text = existingYaml.trimEnd() + '\n' + blocks.join('\n') + '\n';
|
|
378
|
-
await fs.mkdir(path.dirname(settingsPath), { recursive: true });
|
|
379
|
-
const tmp = settingsPath + '.intutic-tmp';
|
|
380
|
-
await fs.writeFile(tmp, text, 'utf-8');
|
|
381
|
-
await fs.rename(tmp, settingsPath);
|
|
382
|
-
log.info({ action: 'dsh_settings_written', path: settingsPath, mode: 'append_only_fallback' }, 'dsh settings.yaml updated (append-only fallback)');
|
|
391
|
+
return -1;
|
|
383
392
|
}
|
|
384
393
|
/**
|
|
385
|
-
*
|
|
394
|
+
* Points dsh's DEFAULT LLM route at the Intutic proxy by setting
|
|
395
|
+
* `config.baseURL` on the profile's `llm-deepseek` override row.
|
|
386
396
|
*
|
|
387
|
-
*
|
|
388
|
-
*
|
|
389
|
-
*
|
|
390
|
-
*
|
|
391
|
-
*
|
|
392
|
-
*
|
|
393
|
-
*
|
|
394
|
-
*
|
|
395
|
-
* - `llm-pi-ai.providers.intutic` — a SELECTABLE route (mounts dormant
|
|
396
|
-
* until this section exists at all — see module doc). Kept alongside the
|
|
397
|
-
* new default-route merge: a user, or a future sync, can still point a
|
|
398
|
-
* model at it explicitly.
|
|
397
|
+
* A Cordis id-targeted patch REPLACES the entry's whole `config`
|
|
398
|
+
* (`dsh-app-boot`'s README: "an id-targeted patch does not deep-merge"), so
|
|
399
|
+
* when the profile already overrides this entry (a Models-page save, a hand
|
|
400
|
+
* edit, or dsh 0.2's one-time import of a legacy `settings.yaml`), only
|
|
401
|
+
* `baseURL` is set on THAT row and every other field it restates
|
|
402
|
+
* (`apiKeyEnv`, `reasoningEffort`, `models`, ...) round-trips untouched.
|
|
403
|
+
* Otherwise a fresh `{ id, config: { baseURL } }` row is appended — the
|
|
404
|
+
* base bundle's row carries no config, so nothing is lost by replacing it.
|
|
399
405
|
*
|
|
400
|
-
*
|
|
401
|
-
*
|
|
406
|
+
* Same parse-structurally / write-if-changed / append-only-on-unparseable
|
|
407
|
+
* discipline as {@link mergeProfilePatch}, on the same file.
|
|
402
408
|
*/
|
|
403
|
-
export async function
|
|
404
|
-
const
|
|
409
|
+
export async function mergeProfileLlmRoute(profileDir, proxyUrl) {
|
|
410
|
+
const patchPath = path.join(profileDir, PROFILE_PATCH_FILENAME);
|
|
405
411
|
let existingYaml = '';
|
|
406
412
|
try {
|
|
407
|
-
existingYaml = await fs.readFile(
|
|
413
|
+
existingYaml = await fs.readFile(patchPath, 'utf-8');
|
|
408
414
|
}
|
|
409
415
|
catch {
|
|
410
|
-
// No
|
|
411
|
-
// written below.
|
|
416
|
+
// No cordis.patch.yml yet — written fresh below.
|
|
412
417
|
}
|
|
413
418
|
let doc;
|
|
414
419
|
try {
|
|
415
|
-
doc = parseDocument(existingYaml.trim() ? existingYaml : '
|
|
420
|
+
doc = parseDocument(existingYaml.trim() ? existingYaml : '[]');
|
|
416
421
|
if (doc.errors.length > 0)
|
|
417
422
|
throw doc.errors[0];
|
|
418
423
|
}
|
|
419
|
-
catch
|
|
420
|
-
|
|
421
|
-
|
|
424
|
+
catch {
|
|
425
|
+
// mergeProfilePatch already logged this file as unparseable this cycle.
|
|
426
|
+
// Append only when no row for this id exists at all: a row we cannot
|
|
427
|
+
// parse is a row we cannot safely edit, and a second, later row would
|
|
428
|
+
// silently replace whatever config the user gave it.
|
|
429
|
+
if (existingYaml.includes(`id: ${DEFAULT_LLM_ENTRY_ID}`))
|
|
430
|
+
return;
|
|
431
|
+
const block = [
|
|
432
|
+
'',
|
|
433
|
+
'# Intutic proxy route — auto-appended (fallback: this file did not parse as YAML).',
|
|
434
|
+
`- id: ${DEFAULT_LLM_ENTRY_ID}`,
|
|
435
|
+
' config:',
|
|
436
|
+
` baseURL: ${JSON.stringify(proxyUrl)}`,
|
|
437
|
+
].join('\n');
|
|
438
|
+
const tmp = patchPath + '.intutic-tmp';
|
|
439
|
+
await fs.writeFile(tmp, (existingYaml || '[]').trimEnd() + '\n' + block + '\n', 'utf-8');
|
|
440
|
+
await fs.rename(tmp, patchPath);
|
|
441
|
+
log.info({ action: 'dsh_llm_route_written', path: patchPath, mode: 'append_only_fallback' }, 'dsh llm-deepseek route updated (append-only fallback)');
|
|
422
442
|
return;
|
|
423
443
|
}
|
|
424
|
-
if (doc.contents == null || !
|
|
425
|
-
doc.contents = doc.createNode(
|
|
444
|
+
if (doc.contents == null || !isSeq(doc.contents))
|
|
445
|
+
doc.contents = doc.createNode([]);
|
|
446
|
+
const patchList = doc.toJS();
|
|
447
|
+
const index = findLastLlmOverride(patchList);
|
|
448
|
+
if (index === -1) {
|
|
449
|
+
doc.addIn([], doc.createNode({ id: DEFAULT_LLM_ENTRY_ID, config: { baseURL: proxyUrl } }));
|
|
426
450
|
}
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
const node = doc.getIn(keyPath);
|
|
438
|
-
if (node !== undefined && !isMap(node)) {
|
|
439
|
-
doc.setIn(keyPath, {});
|
|
451
|
+
else {
|
|
452
|
+
const config = patchList[index].config;
|
|
453
|
+
if (config && typeof config === 'object' && !Array.isArray(config)) {
|
|
454
|
+
if (config.baseURL === proxyUrl)
|
|
455
|
+
return;
|
|
456
|
+
doc.setIn([index, 'config', 'baseURL'], proxyUrl);
|
|
457
|
+
}
|
|
458
|
+
else {
|
|
459
|
+
// `config` absent, null, or a scalar — setIn cannot descend into it.
|
|
460
|
+
doc.setIn([index, 'config'], doc.createNode({ baseURL: proxyUrl }));
|
|
440
461
|
}
|
|
441
462
|
}
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
// ── llm-deepseek: DEFAULT route ──────────────────────────────────────
|
|
445
|
-
const deepseekSection = settingsJs[DEFAULT_LLM_SECTION] ?? {};
|
|
446
|
-
const desiredDeepseekSection = { ...deepseekSection, baseURL: proxyUrl };
|
|
447
|
-
if (!isDeepStrictEqual(deepseekSection, desiredDeepseekSection)) {
|
|
448
|
-
doc.setIn([DEFAULT_LLM_SECTION], desiredDeepseekSection);
|
|
449
|
-
changed = true;
|
|
450
|
-
}
|
|
451
|
-
// ── llm-pi-ai: SELECTABLE route ──────────────────────────────────────
|
|
452
|
-
const llmPiAi = settingsJs[SELECTABLE_LLM_SECTION] ?? {};
|
|
453
|
-
const providers = llmPiAi.providers ?? {};
|
|
454
|
-
const existingRoute = providers.intutic ?? {};
|
|
455
|
-
const desiredRoute = {
|
|
456
|
-
...existingRoute,
|
|
457
|
-
displayName: 'Intutic Governance Proxy',
|
|
458
|
-
api: 'openai-completions',
|
|
459
|
-
baseURL: proxyUrl,
|
|
460
|
-
};
|
|
461
|
-
if (!isDeepStrictEqual(existingRoute, desiredRoute)) {
|
|
462
|
-
doc.setIn([SELECTABLE_LLM_SECTION, 'providers', 'intutic'], desiredRoute);
|
|
463
|
-
changed = true;
|
|
464
|
-
}
|
|
465
|
-
if (!changed)
|
|
466
|
-
return;
|
|
467
|
-
await fs.mkdir(dshHome, { recursive: true });
|
|
468
|
-
const tmp = settingsPath + '.intutic-tmp';
|
|
463
|
+
await fs.mkdir(profileDir, { recursive: true });
|
|
464
|
+
const tmp = patchPath + '.intutic-tmp';
|
|
469
465
|
await fs.writeFile(tmp, doc.toString(), 'utf-8');
|
|
470
|
-
await fs.rename(tmp,
|
|
471
|
-
log.info({ action: '
|
|
466
|
+
await fs.rename(tmp, patchPath);
|
|
467
|
+
log.info({ action: 'dsh_llm_route_written', path: patchPath, mode: 'yaml' }, 'dsh llm-deepseek route updated (structural YAML edit)');
|
|
472
468
|
}
|
|
473
469
|
// ─── INSTALL.md: the manual pnpm-install / `dsh plugin add` step ──────────
|
|
474
470
|
/**
|
|
@@ -494,23 +490,24 @@ Every sync writes the \`intutic-governance\` row into each profile's
|
|
|
494
490
|
\`@intutic/gate\` in that profile's \`package.json\` \`dependencies\` — but this
|
|
495
491
|
daemon has no general capability to run a package manager in a directory it
|
|
496
492
|
does not own, so the dependency itself is never installed by this writer.
|
|
497
|
-
Until it is, dsh's
|
|
498
|
-
|
|
499
|
-
|
|
493
|
+
Until it is, dsh's loader cannot import the row's module and prints a
|
|
494
|
+
labelled plugin-activation warning on every start (dsh 0.2 keeps booting
|
|
495
|
+
without it — the row is not a required entry), so nothing is governed yet.
|
|
500
496
|
|
|
501
497
|
Finish activation with dsh's own forwarding command, once per profile:
|
|
502
498
|
|
|
503
499
|
${profileLines}
|
|
504
500
|
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
501
|
+
dsh 0.2 installs it as a plain profile dependency (it warns that the package
|
|
502
|
+
declares no \`dsh.bundle\` — expected: the row above is what loads it).
|
|
503
|
+
\`cd $DSH_HOME/profiles/<name> && pnpm add @intutic/gate\` is equivalent.
|
|
508
504
|
|
|
509
505
|
## Default LLM egress needs no manual step
|
|
510
506
|
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
507
|
+
Every sync also sets \`config.baseURL\` on the \`llm-deepseek\` row of each
|
|
508
|
+
profile's \`cordis.patch.yml\` (dsh's default \`deepseek-official\` route) to
|
|
509
|
+
the Intutic proxy. A signed-in DeepSeek *account* route (\`deepseek-account\`)
|
|
510
|
+
is not redirected: dsh only releases its token to DeepSeek's own origin.
|
|
514
511
|
`;
|
|
515
512
|
}
|
|
516
513
|
/** Write-if-changed, atomic rename — same discipline every other writer in
|
|
@@ -528,17 +525,19 @@ async function writeDshInstallMd(dshHome, profileNames) {
|
|
|
528
525
|
}
|
|
529
526
|
if (existing === content)
|
|
530
527
|
return;
|
|
528
|
+
await keepOriginal(installPath, dshHome);
|
|
531
529
|
await fs.mkdir(dshHome, { recursive: true });
|
|
532
530
|
const tmp = installPath + '.intutic-tmp';
|
|
533
531
|
await fs.writeFile(tmp, content, 'utf-8');
|
|
534
532
|
await fs.rename(tmp, installPath);
|
|
533
|
+
await noteWritten(installPath, dshHome, content);
|
|
535
534
|
log.info({ action: 'dsh_install_md_written', path: installPath }, 'dsh INSTALL.md updated');
|
|
536
535
|
}
|
|
537
536
|
// ─── Public API ────────────────────────────────────────────────────────────
|
|
538
537
|
/**
|
|
539
538
|
* Register the Intutic governance plugin against every existing dsh profile
|
|
540
|
-
* on this machine, and
|
|
541
|
-
*
|
|
539
|
+
* on this machine, and point each profile's `llm-deepseek` (default) LLM
|
|
540
|
+
* route at the Intutic proxy.
|
|
542
541
|
*
|
|
543
542
|
* A no-op (logged, not an error) when `$DSH_HOME/profiles` does not exist
|
|
544
543
|
* yet — dsh has not been run with any `--profile <name>` on this machine, so
|
|
@@ -548,7 +547,7 @@ async function writeDshInstallMd(dshHome, profileNames) {
|
|
|
548
547
|
*
|
|
549
548
|
* @param workspaceRoot - Absolute workspace root (stored in the plugin row's
|
|
550
549
|
* `config.repoRoot`).
|
|
551
|
-
* @param proxyUrl - Intutic proxy URL,
|
|
550
|
+
* @param proxyUrl - Intutic proxy URL, set as the `llm-deepseek` row's `baseURL`.
|
|
552
551
|
* @param workspaceId - Workspace ID, stored in the plugin row's config.
|
|
553
552
|
*/
|
|
554
553
|
export async function writeDshHooks(workspaceRoot, proxyUrl, workspaceId = '') {
|
|
@@ -559,11 +558,17 @@ export async function writeDshHooks(workspaceRoot, proxyUrl, workspaceId = '') {
|
|
|
559
558
|
return;
|
|
560
559
|
}
|
|
561
560
|
for (const profileDir of profileDirs) {
|
|
561
|
+
// The profile's own files, kept for disconnect before Intutic first edits
|
|
562
|
+
// them. Recorded under $DSH_HOME, which need not be inside the home directory.
|
|
563
|
+
await keepOriginal(path.join(profileDir, PROFILE_PATCH_FILENAME), dshHome);
|
|
564
|
+
await keepOriginal(path.join(profileDir, 'package.json'), dshHome);
|
|
562
565
|
await mergeProfilePatch(profileDir, workspaceRoot, workspaceId);
|
|
566
|
+
// dsh's llm-deepseek route speaks the Anthropic Messages wire and
|
|
567
|
+
// appends /v1/messages to its baseURL, so it gets the bare proxy host.
|
|
568
|
+
await mergeProfileLlmRoute(profileDir, anthropicBaseUrl(proxyUrl));
|
|
563
569
|
await mergeProfileDependency(profileDir);
|
|
564
570
|
log.info({ action: 'dsh_profile_written', profile: path.basename(profileDir) }, 'dsh profile governance plugin registered');
|
|
565
571
|
}
|
|
566
|
-
await mergeSettingsYaml(dshHome, proxyUrl);
|
|
567
572
|
await writeDshInstallMd(dshHome, profileDirs.map((d) => path.basename(d)));
|
|
568
573
|
}
|
|
569
574
|
//# sourceMappingURL=dshHooks.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dshHooks.js","sourceRoot":"","sources":["../../src/harness/dshHooks.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dshHooks.js","sourceRoot":"","sources":["../../src/harness/dshHooks.ts"],"names":[],"mappings":"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"}
|
|
@@ -113,8 +113,17 @@ import { DESTRUCTIVE_COMMAND_PATTERNS, type GuardPattern } from './protectedPath
|
|
|
113
113
|
* unrecognised severity to `flags`, i.e. ALLOWED, which is why the v8 filter
|
|
114
114
|
* maps unknown to block and why the daemon regenerates every gate each cycle —
|
|
115
115
|
* the skew window is one sync interval.
|
|
116
|
+
*
|
|
117
|
+
* v9: SSO-group refusals. The snapshot carries the workspace's
|
|
118
|
+
* `sso_group_policy` and the member it was issued to as an `@sso_groups` data
|
|
119
|
+
* line (two columns, so every rule parser skips it; inside the digest, so an
|
|
120
|
+
* edited group list fails the check), and the policy decided for that member
|
|
121
|
+
* as ordinary `sso_group.*` block rules on the tool subject. The one gate-side
|
|
122
|
+
* change: an invalid snapshot keeps its `sso_group.*` block rules instead of
|
|
123
|
+
* dropping them with the rest of the dynamic tier. A v8 gate reading a v9
|
|
124
|
+
* snapshot enforces the same rules and drops them on an invalid one.
|
|
116
125
|
*/
|
|
117
|
-
export declare const GATE_VERSION =
|
|
126
|
+
export declare const GATE_VERSION = 9;
|
|
118
127
|
/**
|
|
119
128
|
* The coarse command → action-token classification the hold tier keys on:
|
|
120
129
|
* `review_before: action:deploy` holds a shell command that contains any of
|
|
@@ -241,7 +250,7 @@ export declare function toRulesLine(p: GuardPattern): string;
|
|
|
241
250
|
* calling: a crash earlier than the definition still blocks, just without an
|
|
242
251
|
* audit line (stderr carries the reason either way).
|
|
243
252
|
*/
|
|
244
|
-
export declare const SHELL_FAIL_CLOSED = "\n# \u2500\u2500 Intutic fail-closed prelude
|
|
253
|
+
export declare const SHELL_FAIL_CLOSED = "\n# \u2500\u2500 Intutic fail-closed prelude v9 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n# Any exit status other than the two deliberate verdicts (0 = allow, 2 = block)\n# means this gate crashed rather than decided. The harness would read exit 1 as\n# \"hook errored\" and run the tool anyway, so a crash is converted into a block.\n# EXIT rather than ERR: ERR is unreliable across shells for set -u deaths, and\n# it fires on benign non-zero intermediates; the final status cannot lie.\nintutic_fail_closed() {\n _intutic_exit_rc=$?\n # The trap must not itself die on an unset variable or a failed command \u2014\n # that would replace the exit status it exists to correct.\n set +eu\n trap - EXIT\n if [ \"$_intutic_exit_rc\" = \"0\" ] || [ \"$_intutic_exit_rc\" = \"2\" ]; then\n exit \"$_intutic_exit_rc\"\n fi\n echo \"[Intutic Governance] BLOCKED: gate crashed (exit ${_intutic_exit_rc}) \u2014 failing closed rather than allowing an unevaluated call.\" >&2\n if command -v log_event >/dev/null 2>&1; then\n log_event \"tool_blocked\" \"${TOOL:-unknown}\" \"gate crashed (exit ${_intutic_exit_rc}) \u2014 failing closed\" || true\n fi\n exit 2\n}\ntrap intutic_fail_closed EXIT\n";
|
|
245
254
|
export interface ShellGateOptions {
|
|
246
255
|
/** Harness id, as it appears in audit lines. */
|
|
247
256
|
harness: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gateBody.d.ts","sourceRoot":"","sources":["../../src/harness/gateBody.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACH,OAAO,EACL,4BAA4B,EAG5B,KAAK,YAAY,EAClB,MAAM,qBAAqB,CAAA;AAE5B
|
|
1
|
+
{"version":3,"file":"gateBody.d.ts","sourceRoot":"","sources":["../../src/harness/gateBody.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACH,OAAO,EACL,4BAA4B,EAG5B,KAAK,YAAY,EAClB,MAAM,qBAAqB,CAAA;AAE5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyEG;AACH,eAAO,MAAM,YAAY,IAAI,CAAA;AAE7B;;;;;;;;;GASG;AACH,eAAO,MAAM,cAAc,EAAE,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAK9E,CAAA;AAED,yEAAyE;AACzE,eAAO,MAAM,iBAAiB,kEAAmE,CAAA;AAEjG;iDACiD;AACjD,eAAO,MAAM,wBAAwB,0BAA0B,CAAA;AAC/D,eAAO,MAAM,mBAAmB,0CAAgD,CAAA;AAChF;+BAC+B;AAC/B,eAAO,MAAM,sBAAsB,IAAI,CAAA;AAkBvC;;;;;;;GAOG;AACH,eAAO,MAAM,yBAAyB,IAAI,CAAA;AAE1C;;;;;;;;;;;;;;GAcG;AACH;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,eAAe,GAAG,sBAAsB,GAAG,OAAO,CAAA;AAmCxF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,eAAO,MAAM,aAAa,sFAAuF,CAAA;AAEjH;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,YAAY,GAAG,MAAM,CAMnD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,eAAO,MAAM,iBAAiB,g0CAuB7B,CAAA;AAED,MAAM,WAAW,gBAAgB;IAC/B,gDAAgD;IAChD,OAAO,EAAE,MAAM,CAAA;IACf;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAC3B;AA6ID,wBAAgB,aAAa,CAAC,IAAI,EAAE,gBAAgB,GAAG,MAAM,CAyZ5D;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAA;IACf,gCAAgC;IAChC,QAAQ,EAAE,aAAa,CAAA;IACvB;wEACoE;IACpE,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAC3B;AAuGD;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,CAmPtD;AAGD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CA8H5C;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,CAgCnE;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,aAAa,4gIA8EzB,CAAA;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAyHvC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAuJ5C;AAED;mEACmE;AACnE,OAAO,EAAE,4BAA4B,EAAE,CAAA"}
|