@monoes/monomindcli 2.16.5 → 2.16.7
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/.claude/commands/agents/agent-capabilities.md +2 -5
- package/.claude/commands/coordination/task-orchestrate.md +0 -1
- package/.claude/commands/hooks/post-edit.md +1 -1
- package/.claude/commands/hooks/post-task.md +2 -3
- package/.claude/commands/hooks/pre-edit.md +0 -2
- package/.claude/commands/hooks/session-end.md +4 -4
- package/.claude/commands/monoswarm/consensus.md +1 -1
- package/.claude/commands/monoswarm/memory.md +1 -1
- package/.claude/commands/monoswarm/monoswarm.md +1 -1
- package/.claude/commands/monoswarm/spawn.md +1 -1
- package/.claude/commands/optimization/auto-topology.md +6 -9
- package/.claude/commands/optimization/performance-optimize.md +23 -39
- package/.claude/helpers/pick-rank.cjs +118 -9
- package/dist/src/catalog/projection.d.ts.map +1 -1
- package/dist/src/catalog/projection.js +2 -1
- package/dist/src/catalog/projection.js.map +1 -1
- package/dist/src/commands/agent-exec.d.ts.map +1 -1
- package/dist/src/commands/agent-exec.js +10 -1
- package/dist/src/commands/agent-exec.js.map +1 -1
- package/dist/src/commands/cleanup-plan.d.ts +3 -2
- package/dist/src/commands/cleanup-plan.d.ts.map +1 -1
- package/dist/src/commands/cleanup-plan.js +25 -5
- package/dist/src/commands/cleanup-plan.js.map +1 -1
- package/dist/src/commands/doctor.js +1 -1
- package/dist/src/commands/doctor.js.map +1 -1
- package/dist/src/commands/hooks-core-commands.d.ts.map +1 -1
- package/dist/src/commands/hooks-core-commands.js +10 -42
- package/dist/src/commands/hooks-core-commands.js.map +1 -1
- package/dist/src/commands/hooks-extended-commands.d.ts.map +1 -1
- package/dist/src/commands/hooks-extended-commands.js +3 -4
- package/dist/src/commands/hooks-extended-commands.js.map +1 -1
- package/dist/src/commands/hooks-routing-commands.d.ts.map +1 -1
- package/dist/src/commands/hooks-routing-commands.js +13 -24
- package/dist/src/commands/hooks-routing-commands.js.map +1 -1
- package/dist/src/commands/hooks-workers.d.ts.map +1 -1
- package/dist/src/commands/hooks-workers.js +0 -5
- package/dist/src/commands/hooks-workers.js.map +1 -1
- package/dist/src/commands/hooks.d.ts.map +1 -1
- package/dist/src/commands/hooks.js +9 -16
- package/dist/src/commands/hooks.js.map +1 -1
- package/dist/src/commands/monograph.d.ts.map +1 -1
- package/dist/src/commands/monograph.js +24 -2
- package/dist/src/commands/monograph.js.map +1 -1
- package/dist/src/commands/org.d.ts.map +1 -1
- package/dist/src/commands/org.js +29 -1
- package/dist/src/commands/org.js.map +1 -1
- package/dist/src/commands/platforms.js +2 -1
- package/dist/src/commands/platforms.js.map +1 -1
- package/dist/src/init/asset-maps.d.ts +46 -0
- package/dist/src/init/asset-maps.d.ts.map +1 -0
- package/dist/src/init/asset-maps.js +177 -0
- package/dist/src/init/asset-maps.js.map +1 -0
- package/dist/src/init/copy-assets.d.ts.map +1 -1
- package/dist/src/init/copy-assets.js +4 -1
- package/dist/src/init/copy-assets.js.map +1 -1
- package/dist/src/init/executor.d.ts.map +1 -1
- package/dist/src/init/executor.js +6 -3
- package/dist/src/init/executor.js.map +1 -1
- package/dist/src/init/file-guard.d.ts +6 -0
- package/dist/src/init/file-guard.d.ts.map +1 -1
- package/dist/src/init/file-guard.js +27 -11
- package/dist/src/init/file-guard.js.map +1 -1
- package/dist/src/init/fs-helpers.d.ts +63 -0
- package/dist/src/init/fs-helpers.d.ts.map +1 -0
- package/dist/src/init/fs-helpers.js +198 -0
- package/dist/src/init/fs-helpers.js.map +1 -0
- package/dist/src/init/init-manifest.d.ts +106 -0
- package/dist/src/init/init-manifest.d.ts.map +1 -0
- package/dist/src/init/init-manifest.js +222 -0
- package/dist/src/init/init-manifest.js.map +1 -0
- package/dist/src/init/shared.d.ts +3 -201
- package/dist/src/init/shared.d.ts.map +1 -1
- package/dist/src/init/shared.js +7 -573
- package/dist/src/init/shared.js.map +1 -1
- package/dist/src/init/upgrade.d.ts.map +1 -1
- package/dist/src/init/upgrade.js +4 -2
- package/dist/src/init/upgrade.js.map +1 -1
- package/dist/src/init/write-antigravity.d.ts.map +1 -1
- package/dist/src/init/write-antigravity.js +2 -1
- package/dist/src/init/write-antigravity.js.map +1 -1
- package/dist/src/init/write-capabilities.js +2 -1
- package/dist/src/init/write-capabilities.js.map +1 -1
- package/dist/src/init/write-claude.d.ts +3 -5
- package/dist/src/init/write-claude.d.ts.map +1 -1
- package/dist/src/init/write-claude.js +6 -210
- package/dist/src/init/write-claude.js.map +1 -1
- package/dist/src/init/write-codex.js +1 -1
- package/dist/src/init/write-codex.js.map +1 -1
- package/dist/src/init/write-kimicode.d.ts.map +1 -1
- package/dist/src/init/write-kimicode.js +6 -2
- package/dist/src/init/write-kimicode.js.map +1 -1
- package/dist/src/init/write-opencode.d.ts.map +1 -1
- package/dist/src/init/write-opencode.js +5 -4
- package/dist/src/init/write-opencode.js.map +1 -1
- package/dist/src/init/write-runtime-config.d.ts.map +1 -1
- package/dist/src/init/write-runtime-config.js +2 -1
- package/dist/src/init/write-runtime-config.js.map +1 -1
- package/dist/src/init/write-settings.d.ts +9 -0
- package/dist/src/init/write-settings.d.ts.map +1 -0
- package/dist/src/init/write-settings.js +217 -0
- package/dist/src/init/write-settings.js.map +1 -0
- package/dist/src/mcp-tools/hooks-intelligence.d.ts.map +1 -1
- package/dist/src/mcp-tools/hooks-intelligence.js +2 -1
- package/dist/src/mcp-tools/hooks-intelligence.js.map +1 -1
- package/dist/src/mcp-tools/hooks-routing.d.ts.map +1 -1
- package/dist/src/mcp-tools/hooks-routing.js +11 -11
- package/dist/src/mcp-tools/hooks-routing.js.map +1 -1
- package/dist/src/mcp-tools/platforms-tools.js +1 -1
- package/dist/src/mcp-tools/platforms-tools.js.map +1 -1
- package/dist/src/monovector/command-outcomes.d.ts +2 -1
- package/dist/src/monovector/command-outcomes.d.ts.map +1 -1
- package/dist/src/monovector/command-outcomes.js +2 -2
- package/dist/src/monovector/command-outcomes.js.map +1 -1
- package/dist/src/orgrt/approvals.d.ts +25 -0
- package/dist/src/orgrt/approvals.d.ts.map +1 -1
- package/dist/src/orgrt/approvals.js +51 -2
- package/dist/src/orgrt/approvals.js.map +1 -1
- package/dist/src/orgrt/budget-closure.d.ts +27 -0
- package/dist/src/orgrt/budget-closure.d.ts.map +1 -0
- package/dist/src/orgrt/budget-closure.js +179 -0
- package/dist/src/orgrt/budget-closure.js.map +1 -0
- package/dist/src/orgrt/daemon.d.ts +14 -2
- package/dist/src/orgrt/daemon.d.ts.map +1 -1
- package/dist/src/orgrt/daemon.js +37 -2
- package/dist/src/orgrt/daemon.js.map +1 -1
- package/dist/src/orgrt/decisions.d.ts +8 -0
- package/dist/src/orgrt/decisions.d.ts.map +1 -1
- package/dist/src/orgrt/decisions.js +7 -1
- package/dist/src/orgrt/decisions.js.map +1 -1
- package/dist/src/orgrt/policy.d.ts +6 -0
- package/dist/src/orgrt/policy.d.ts.map +1 -1
- package/dist/src/orgrt/policy.js +5 -0
- package/dist/src/orgrt/policy.js.map +1 -1
- package/dist/src/orgrt/runner-registry.d.ts +11 -2
- package/dist/src/orgrt/runner-registry.d.ts.map +1 -1
- package/dist/src/orgrt/runner-registry.js +11 -34
- package/dist/src/orgrt/runner-registry.js.map +1 -1
- package/dist/src/orgrt/task-dag.d.ts +13 -0
- package/dist/src/orgrt/task-dag.d.ts.map +1 -1
- package/dist/src/orgrt/task-dag.js +29 -0
- package/dist/src/orgrt/task-dag.js.map +1 -1
- package/dist/src/orgrt/version-probe.d.ts +43 -0
- package/dist/src/orgrt/version-probe.d.ts.map +1 -0
- package/dist/src/orgrt/version-probe.js +136 -0
- package/dist/src/orgrt/version-probe.js.map +1 -0
- package/dist/src/platform-adapters/locations.d.ts +12 -0
- package/dist/src/platform-adapters/locations.d.ts.map +1 -0
- package/dist/src/platform-adapters/locations.js +57 -0
- package/dist/src/platform-adapters/locations.js.map +1 -0
- package/dist/src/platform-adapters/merge.d.ts +13 -0
- package/dist/src/platform-adapters/merge.d.ts.map +1 -1
- package/dist/src/platform-adapters/merge.js +33 -1
- package/dist/src/platform-adapters/merge.js.map +1 -1
- package/dist/src/platform-adapters/migration.d.ts.map +1 -1
- package/dist/src/platform-adapters/migration.js +10 -5
- package/dist/src/platform-adapters/migration.js.map +1 -1
- package/dist/src/platform-adapters/mutation.js +1 -1
- package/dist/src/platform-adapters/mutation.js.map +1 -1
- package/dist/src/platform-adapters/operations.d.ts +3 -16
- package/dist/src/platform-adapters/operations.d.ts.map +1 -1
- package/dist/src/platform-adapters/operations.js +43 -167
- package/dist/src/platform-adapters/operations.js.map +1 -1
- package/dist/src/platform-adapters/owned-files.d.ts +23 -0
- package/dist/src/platform-adapters/owned-files.d.ts.map +1 -0
- package/dist/src/platform-adapters/owned-files.js +64 -0
- package/dist/src/platform-adapters/owned-files.js.map +1 -0
- package/dist/src/platform-adapters/platform-doctor.d.ts +9 -0
- package/dist/src/platform-adapters/platform-doctor.d.ts.map +1 -0
- package/dist/src/platform-adapters/platform-doctor.js +117 -0
- package/dist/src/platform-adapters/platform-doctor.js.map +1 -0
- package/dist/src/platform-adapters/renderers/skills.d.ts.map +1 -1
- package/dist/src/platform-adapters/renderers/skills.js +5 -2
- package/dist/src/platform-adapters/renderers/skills.js.map +1 -1
- package/dist/src/platform-adapters/shared-surface.d.ts +7 -4
- package/dist/src/platform-adapters/shared-surface.d.ts.map +1 -1
- package/dist/src/platform-adapters/shared-surface.js +9 -5
- package/dist/src/platform-adapters/shared-surface.js.map +1 -1
- package/dist/src/platform-adapters/types.d.ts +24 -1
- package/dist/src/platform-adapters/types.d.ts.map +1 -1
- package/dist/src/protocol-capabilities.d.ts +4 -1
- package/dist/src/protocol-capabilities.d.ts.map +1 -1
- package/dist/src/protocol-capabilities.js +4 -0
- package/dist/src/protocol-capabilities.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +4 -4
|
@@ -1,15 +1,6 @@
|
|
|
1
1
|
/** Planning and application for evidence-gated platform artifacts. */
|
|
2
|
-
import type { ApplyResult, ArtifactIntent,
|
|
3
|
-
export interface PlatformEnvironment {
|
|
4
|
-
root?: string;
|
|
5
|
-
home?: string;
|
|
6
|
-
discovery?: DiscoveryResult;
|
|
7
|
-
}
|
|
8
|
-
export declare function redactUserPath(path: string, home?: string): string;
|
|
9
|
-
/** The sole conversion from declarative adapter paths into real filesystem paths. */
|
|
10
|
-
export declare function resolveArtifactLocation(adapter: PlatformAdapter, kind: ArtifactKind, scope: InstallRequest['scope'], environment?: PlatformEnvironment): ResolvedArtifactLocation | undefined;
|
|
2
|
+
import type { ApplyResult, ArtifactIntent, InstallRequest, MutationRequest, PlatformAdapter, PlatformPlan } from './types.js';
|
|
11
3
|
export declare function planInstall(request: InstallRequest): Promise<PlatformPlan>;
|
|
12
|
-
export declare function intentLocation(adapter: PlatformAdapter, intent: ArtifactIntent, request: InstallRequest): ResolvedArtifactLocation | undefined;
|
|
13
4
|
export declare function applyPlan(plan: PlatformPlan, request: InstallRequest): Promise<ApplyResult>;
|
|
14
5
|
/** Applies intents without taking the lock; callers hold it (or dry-run). */
|
|
15
6
|
export declare function applyIntents(adapter: PlatformAdapter, intents: readonly ArtifactIntent[], request: InstallRequest): {
|
|
@@ -21,10 +12,6 @@ export declare function installPlatform(request: InstallRequest): Promise<ApplyR
|
|
|
21
12
|
export declare function upgradePlatforms(request: MutationRequest): Promise<ApplyResult[]>;
|
|
22
13
|
export declare function uninstallPlatform(request: MutationRequest): Promise<ApplyResult[]>;
|
|
23
14
|
export declare function migrateLegacyInstall(request: MutationRequest): Promise<ApplyResult[]>;
|
|
24
|
-
export
|
|
25
|
-
|
|
26
|
-
path?: string;
|
|
27
|
-
scope: InstallRequest['scope'];
|
|
28
|
-
home?: string;
|
|
29
|
-
}): Promise<PlatformDoctorReport[]>;
|
|
15
|
+
export { intentLocation, type PlatformEnvironment, redactUserPath, resolveArtifactLocation, } from './locations.js';
|
|
16
|
+
export { runPlatformsDoctor } from './platform-doctor.js';
|
|
30
17
|
//# sourceMappingURL=operations.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operations.d.ts","sourceRoot":"","sources":["../../../src/platform-adapters/operations.ts"],"names":[],"mappings":"AAAA,sEAAsE;
|
|
1
|
+
{"version":3,"file":"operations.d.ts","sourceRoot":"","sources":["../../../src/platform-adapters/operations.ts"],"names":[],"mappings":"AAAA,sEAAsE;AA8BtE,OAAO,KAAK,EACV,WAAW,EACX,cAAc,EACd,cAAc,EACd,eAAe,EAEf,eAAe,EACf,YAAY,EAEb,MAAM,YAAY,CAAC;AAQpB,wBAAsB,WAAW,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,YAAY,CAAC,CAGhF;AAiHD,wBAAsB,SAAS,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC,CAgBjG;AAED,6EAA6E;AAC7E,wBAAgB,YAAY,CAC1B,OAAO,EAAE,eAAe,EACxB,OAAO,EAAE,SAAS,cAAc,EAAE,EAClC,OAAO,EAAE,cAAc,GACtB;IAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,WAAW,EAAE,MAAM,EAAE,CAAA;CAAE,CAqBjE;AAED,wBAAsB,eAAe,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC,CAInF;AAwCD,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAOvF;AAED,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAoFxF;AAED,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAE3F;AAED,OAAO,EACL,cAAc,EACd,KAAK,mBAAmB,EACxB,cAAc,EACd,uBAAuB,GACxB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC"}
|
|
@@ -1,45 +1,16 @@
|
|
|
1
1
|
/** Planning and application for evidence-gated platform artifacts. */
|
|
2
|
-
import { existsSync, readFileSync,
|
|
2
|
+
import { existsSync, readFileSync, unlinkSync } from 'node:fs';
|
|
3
3
|
import { homedir } from 'node:os';
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
4
|
+
import { resolve } from 'node:path';
|
|
5
|
+
import { FileGuard } from '../init/file-guard.js';
|
|
6
|
+
import { intentLocation } from './locations.js';
|
|
7
|
+
import { adoptSupersededBlocks, mergeManagedBlock, mergeSkillFileManagedBlock, mergeSkillManagedBlock, readManagedBlock, removeManagedMarker, safeJsonMerge, safeJsonRemove, } from './merge.js';
|
|
8
|
+
import { migrateLegacyArtifacts } from './migration.js';
|
|
7
9
|
import { addSurfaceOwners, atomicWrite, backup, dropSurfaceOwner, withMutationLock, } from './mutation.js';
|
|
10
|
+
import { applyOwnedFile, hasLegacyOwnership, releaseOwnedFile } from './owned-files.js';
|
|
8
11
|
import { PLATFORM_IDS, PLATFORM_REGISTRY } from './registry.js';
|
|
9
12
|
import { getRenderer } from './renderers/index.js';
|
|
10
|
-
import { legacySurfaceOwners, releaseSharedBlock
|
|
11
|
-
function isWithin(parent, child) {
|
|
12
|
-
const rel = relative(parent, child);
|
|
13
|
-
return rel === '' || (!rel.startsWith('..') && !isAbsolute(rel));
|
|
14
|
-
}
|
|
15
|
-
function locationFor(adapter, kind, scope, discovery) {
|
|
16
|
-
return discovery?.locations?.[kind]?.[scope] ?? adapter.paths.locations[kind]?.[scope];
|
|
17
|
-
}
|
|
18
|
-
export function redactUserPath(path, home = homedir()) {
|
|
19
|
-
const resolvedHome = resolve(home);
|
|
20
|
-
const resolvedPath = resolve(path);
|
|
21
|
-
return isWithin(resolvedHome, resolvedPath)
|
|
22
|
-
? `<home>/${relative(resolvedHome, resolvedPath)}`.replace(/\/$/, '')
|
|
23
|
-
: '<external-user-path>';
|
|
24
|
-
}
|
|
25
|
-
/** The sole conversion from declarative adapter paths into real filesystem paths. */
|
|
26
|
-
export function resolveArtifactLocation(adapter, kind, scope, environment = {}) {
|
|
27
|
-
const location = locationFor(adapter, kind, scope, environment.discovery);
|
|
28
|
-
if (!location || location === 'discovery' || location === 'cli_fallback')
|
|
29
|
-
return undefined;
|
|
30
|
-
const base = scope === 'project'
|
|
31
|
-
? resolve(environment.root ?? process.cwd())
|
|
32
|
-
: resolve(environment.home ?? homedir());
|
|
33
|
-
const fullPath = resolve(base, location.path);
|
|
34
|
-
if (!isWithin(base, fullPath))
|
|
35
|
-
return undefined;
|
|
36
|
-
return {
|
|
37
|
-
path: fullPath,
|
|
38
|
-
displayPath: scope === 'user' ? redactUserPath(fullPath, base) : relative(base, fullPath) || '.',
|
|
39
|
-
format: location.format,
|
|
40
|
-
entryPath: location.entryPath,
|
|
41
|
-
};
|
|
42
|
-
}
|
|
13
|
+
import { legacySurfaceOwners, releaseSharedBlock } from './shared-surface.js';
|
|
43
14
|
function assertMutationAuthorized(request) {
|
|
44
15
|
if (request.scope === 'user' && request.yes !== true) {
|
|
45
16
|
throw new Error('User-scope mutation requires --scope user --yes');
|
|
@@ -49,59 +20,6 @@ export async function planInstall(request) {
|
|
|
49
20
|
const adapter = PLATFORM_REGISTRY[request.platform];
|
|
50
21
|
return getRenderer(request.platform).render(adapter, request);
|
|
51
22
|
}
|
|
52
|
-
export function intentLocation(adapter, intent, request) {
|
|
53
|
-
const location = resolveArtifactLocation(adapter, intent.locationKey, intent.scope, {
|
|
54
|
-
root: request.path,
|
|
55
|
-
discovery: request.discovery,
|
|
56
|
-
});
|
|
57
|
-
if (!location)
|
|
58
|
-
return undefined;
|
|
59
|
-
// Skill locations are package roots. Each canonical package supplies its
|
|
60
|
-
// relative output path; callers cannot escape that root.
|
|
61
|
-
if (intent.kind !== 'skill')
|
|
62
|
-
return location;
|
|
63
|
-
const relativePath = intent.relativePath ?? join('mastermind', 'SKILL.md');
|
|
64
|
-
const skillPath = resolve(location.path, relativePath);
|
|
65
|
-
if (!isWithin(location.path, skillPath))
|
|
66
|
-
return undefined;
|
|
67
|
-
return {
|
|
68
|
-
...location,
|
|
69
|
-
path: skillPath,
|
|
70
|
-
displayPath: join(location.displayPath, relativePath),
|
|
71
|
-
};
|
|
72
|
-
}
|
|
73
|
-
/**
|
|
74
|
-
* Doctor must tolerate both document artifacts and directory-root artifacts
|
|
75
|
-
* (notably portable skill roots). A directory is managed only when its router
|
|
76
|
-
* package carries this platform's own marker; an arbitrary existing directory
|
|
77
|
-
* remains foreign.
|
|
78
|
-
*/
|
|
79
|
-
function artifactState(path, kind, platform) {
|
|
80
|
-
// Intent markers use plural artifact namespaces for the two shared roots.
|
|
81
|
-
// Keep this mapping here rather than guessing from a filesystem path.
|
|
82
|
-
const marker = kind === 'instruction'
|
|
83
|
-
? `monomind:start instructions:${platform}`
|
|
84
|
-
: kind === 'skill'
|
|
85
|
-
? `monomind:start skills:${platform}`
|
|
86
|
-
: kind === 'status'
|
|
87
|
-
? `monomind:start status:${platform}`
|
|
88
|
-
: `monomind:start ${kind}s:${platform}`;
|
|
89
|
-
try {
|
|
90
|
-
if (statSync(path).isDirectory()) {
|
|
91
|
-
if (kind !== 'skill')
|
|
92
|
-
return 'foreign';
|
|
93
|
-
const router = join(path, 'mastermind', 'SKILL.md');
|
|
94
|
-
return existsSync(router) && readFileSync(router, 'utf8').includes(marker)
|
|
95
|
-
? 'managed'
|
|
96
|
-
: 'foreign';
|
|
97
|
-
}
|
|
98
|
-
return readFileSync(path, 'utf8').includes(marker) ? 'managed' : 'foreign';
|
|
99
|
-
}
|
|
100
|
-
catch {
|
|
101
|
-
// A raced deletion or inaccessible artifact is not evidence of ownership.
|
|
102
|
-
return 'foreign';
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
23
|
function isSkillPackage(intent) {
|
|
106
24
|
return intent.kind === 'skill' && (intent.relativePath ?? '').endsWith('/SKILL.md');
|
|
107
25
|
}
|
|
@@ -122,7 +40,7 @@ function isEmptyOwnedSkillFile(content, intent) {
|
|
|
122
40
|
const frontmatter = content.match(/^---\n[\s\S]*?\n---\n/);
|
|
123
41
|
return frontmatter !== null && content.slice(frontmatter[0].length).trim().length === 0;
|
|
124
42
|
}
|
|
125
|
-
function applyIntent(adapter, intent, request) {
|
|
43
|
+
function applyIntent(adapter, intent, request, writer) {
|
|
126
44
|
const location = intentLocation(adapter, intent, request);
|
|
127
45
|
if (!location)
|
|
128
46
|
return {
|
|
@@ -131,6 +49,8 @@ function applyIntent(adapter, intent, request) {
|
|
|
131
49
|
};
|
|
132
50
|
if (request.protectedPaths?.has(location.path))
|
|
133
51
|
return { skipped: location.displayPath, diagnostics: [] };
|
|
52
|
+
if (intent.replace === 'owned_file')
|
|
53
|
+
return applyOwnedFile(location, intent, request.dryRun === true, writer);
|
|
134
54
|
const oldContent = existsSync(location.path) ? readFileSync(location.path, 'utf8') : '';
|
|
135
55
|
let content = oldContent;
|
|
136
56
|
let diagnostics = [];
|
|
@@ -149,7 +69,18 @@ function applyIntent(adapter, intent, request) {
|
|
|
149
69
|
content = mergeSkillFileManagedBlock(base, marker, intent.content, markerComment(location, marker));
|
|
150
70
|
}
|
|
151
71
|
else {
|
|
152
|
-
|
|
72
|
+
const merge = (text) => mergeManagedBlock(text, marker, intent.content, markerComment(location, marker));
|
|
73
|
+
// An instruction block the user edited is kept, as init keeps its own.
|
|
74
|
+
const guarded = intent.kind === 'instruction' && !request.dryRun
|
|
75
|
+
? writer().guardBlock(location.path, base, marker, intent.content, {
|
|
76
|
+
label: marker,
|
|
77
|
+
read: (text) => readManagedBlock(text, marker),
|
|
78
|
+
merge,
|
|
79
|
+
})
|
|
80
|
+
: merge(base);
|
|
81
|
+
if (guarded === null)
|
|
82
|
+
return { skipped: location.displayPath, diagnostics: [] };
|
|
83
|
+
content = guarded;
|
|
153
84
|
}
|
|
154
85
|
}
|
|
155
86
|
else if (intent.replace === 'named_entry') {
|
|
@@ -202,14 +133,23 @@ export function applyIntents(adapter, intents, request) {
|
|
|
202
133
|
const changed = [];
|
|
203
134
|
const skipped = [];
|
|
204
135
|
const diagnostics = [];
|
|
136
|
+
// Outside init (which passes its run's guard) the install keeps its own,
|
|
137
|
+
// recording what it writes in the init manifest.
|
|
138
|
+
let own;
|
|
139
|
+
const writer = () => request.fileGuard ??
|
|
140
|
+
(own ??= new FileGuard(mutationRoot(request), { replaceUnrecorded: false }));
|
|
205
141
|
for (const intent of intents) {
|
|
206
|
-
const result = applyIntent(adapter, intent, request);
|
|
142
|
+
const result = applyIntent(adapter, intent, request, writer);
|
|
207
143
|
if (result.changed)
|
|
208
144
|
changed.push(result.changed);
|
|
209
145
|
if (result.skipped)
|
|
210
146
|
skipped.push(result.skipped);
|
|
211
147
|
diagnostics.push(...result.diagnostics);
|
|
212
148
|
}
|
|
149
|
+
if (own) {
|
|
150
|
+
own.flush();
|
|
151
|
+
diagnostics.push(...own.warnings);
|
|
152
|
+
}
|
|
213
153
|
return { changed, skipped, diagnostics };
|
|
214
154
|
}
|
|
215
155
|
export async function installPlatform(request) {
|
|
@@ -280,7 +220,13 @@ export async function uninstallPlatform(request) {
|
|
|
280
220
|
const oldContent = readFileSync(location.path, 'utf8');
|
|
281
221
|
let content = oldContent;
|
|
282
222
|
let resultDiagnostics = [];
|
|
283
|
-
if (intent.replace === '
|
|
223
|
+
if (intent.replace === 'owned_file' && !hasLegacyOwnership(oldContent, intent)) {
|
|
224
|
+
const removed = !coOwners.length &&
|
|
225
|
+
releaseOwnedFile(mutationRoot(request), location.path, intent, request);
|
|
226
|
+
(removed ? changed : skipped).push(location.displayPath);
|
|
227
|
+
continue;
|
|
228
|
+
}
|
|
229
|
+
if (intent.replace === 'managed_block' || intent.replace === 'owned_file') {
|
|
284
230
|
content = intent.surface
|
|
285
231
|
? releaseSharedBlock(oldContent, intent, platform, coOwners)
|
|
286
232
|
: removeManagedMarker(oldContent, intent.marker ?? `${intent.kind}:${platform}`);
|
|
@@ -331,77 +277,7 @@ export async function uninstallPlatform(request) {
|
|
|
331
277
|
export async function migrateLegacyInstall(request) {
|
|
332
278
|
return upgradePlatforms(request);
|
|
333
279
|
}
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
* 'native'). Doctor uses this to tell a capability-gated location — declared
|
|
338
|
-
* in the registry but intentionally never written because the capability
|
|
339
|
-
* hasn't been promoted — apart from a genuine gap in an already-native one.
|
|
340
|
-
* A kind absent here (e.g. the unused 'plugin') falls back to plain 'missing'.
|
|
341
|
-
*/
|
|
342
|
-
const KIND_CAPABILITY = {
|
|
343
|
-
instruction: 'instructions',
|
|
344
|
-
skill: 'skills',
|
|
345
|
-
mcp: 'mcp',
|
|
346
|
-
command: 'commands',
|
|
347
|
-
agent: 'agents',
|
|
348
|
-
hook: 'hooks',
|
|
349
|
-
hook_bridge: 'hooks',
|
|
350
|
-
status: 'status',
|
|
351
|
-
permission: 'permissions',
|
|
352
|
-
};
|
|
353
|
-
export async function runPlatformsDoctor(request) {
|
|
354
|
-
const ids = request.platform ? [request.platform] : [...PLATFORM_IDS];
|
|
355
|
-
return ids.map((platform) => {
|
|
356
|
-
const adapter = PLATFORM_REGISTRY[platform];
|
|
357
|
-
const artifacts = [];
|
|
358
|
-
const diagnostics = [];
|
|
359
|
-
for (const kind of Object.keys(adapter.paths.locations)) {
|
|
360
|
-
const location = resolveArtifactLocation(adapter, kind, request.scope, {
|
|
361
|
-
root: request.path,
|
|
362
|
-
home: request.home,
|
|
363
|
-
});
|
|
364
|
-
if (!location)
|
|
365
|
-
continue;
|
|
366
|
-
if (!existsSync(location.path)) {
|
|
367
|
-
const capability = KIND_CAPABILITY[kind];
|
|
368
|
-
const level = capability && adapter.capabilities[capability];
|
|
369
|
-
if (capability && level !== 'native') {
|
|
370
|
-
artifacts.push({
|
|
371
|
-
path: location.displayPath,
|
|
372
|
-
state: 'gated',
|
|
373
|
-
reason: `capability ${capability} is ${level}; this artifact is not rendered until it is native`,
|
|
374
|
-
});
|
|
375
|
-
}
|
|
376
|
-
else {
|
|
377
|
-
artifacts.push({ path: location.displayPath, state: 'missing' });
|
|
378
|
-
}
|
|
379
|
-
continue;
|
|
380
|
-
}
|
|
381
|
-
const owner = kind === 'skill' ? sharedSkillSurface(adapter, request.scope)?.id : undefined;
|
|
382
|
-
artifacts.push({
|
|
383
|
-
path: location.displayPath,
|
|
384
|
-
state: artifactState(location.path, kind, owner ?? platform),
|
|
385
|
-
});
|
|
386
|
-
}
|
|
387
|
-
const base = request.scope === 'project'
|
|
388
|
-
? resolve(request.path ?? process.cwd())
|
|
389
|
-
: resolve(request.home ?? homedir());
|
|
390
|
-
const legacyFindings = findLegacySurfaces(base, request.scope);
|
|
391
|
-
if (adapter.requiresDiscovery)
|
|
392
|
-
diagnostics.push(`${adapter.displayName}: native enhancements require successful discovery.`);
|
|
393
|
-
return {
|
|
394
|
-
platform,
|
|
395
|
-
capabilities: { ...adapter.capabilities },
|
|
396
|
-
verification: Object.fromEntries(Object.entries(adapter.verification).map(([capability, evidence]) => [
|
|
397
|
-
capability,
|
|
398
|
-
evidence.level,
|
|
399
|
-
])),
|
|
400
|
-
artifacts,
|
|
401
|
-
legacy: { findings: legacyFindings, migratable: legacyFindings.length > 0 },
|
|
402
|
-
diagnostics,
|
|
403
|
-
sanitized: true,
|
|
404
|
-
};
|
|
405
|
-
});
|
|
406
|
-
}
|
|
280
|
+
// Split out of this module; re-exported so existing importers keep working.
|
|
281
|
+
export { intentLocation, redactUserPath, resolveArtifactLocation, } from './locations.js';
|
|
282
|
+
export { runPlatformsDoctor } from './platform-doctor.js';
|
|
407
283
|
//# sourceMappingURL=operations.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operations.js","sourceRoot":"","sources":["../../../src/platform-adapters/operations.ts"],"names":[],"mappings":"AAAA,sEAAsE;AAEtE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACzE,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAChE,OAAO,EACL,qBAAqB,EAErB,iBAAiB,EACjB,0BAA0B,EAC1B,sBAAsB,EACtB,mBAAmB,EACnB,aAAa,EACb,cAAc,GACf,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAC5E,OAAO,EACL,gBAAgB,EAChB,WAAW,EACX,MAAM,EACN,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAqBlG,SAAS,QAAQ,CAAC,MAAc,EAAE,KAAa;IAC7C,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACpC,OAAO,GAAG,KAAK,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;AACnE,CAAC;AAED,SAAS,WAAW,CAClB,OAAwB,EACxB,IAAkB,EAClB,KAA8B,EAC9B,SAA2B;IAE3B,OAAO,SAAS,EAAE,SAAS,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;AACzF,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,IAAY,EAAE,IAAI,GAAG,OAAO,EAAE;IAC3D,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,OAAO,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;QACzC,CAAC,CAAC,UAAU,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;QACrE,CAAC,CAAC,sBAAsB,CAAC;AAC7B,CAAC;AAED,qFAAqF;AACrF,MAAM,UAAU,uBAAuB,CACrC,OAAwB,EACxB,IAAkB,EAClB,KAA8B,EAC9B,WAAW,GAAwB,EAAE;IAErC,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;IAC1E,IAAI,CAAC,QAAQ,IAAI,QAAQ,KAAK,WAAW,IAAI,QAAQ,KAAK,cAAc;QAAE,OAAO,SAAS,CAAC;IAE3F,MAAM,IAAI,GACR,KAAK,KAAK,SAAS;QACjB,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAC5C,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,IAAI,OAAO,EAAE,CAAC,CAAC;IAC7C,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC9C,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;QAAE,OAAO,SAAS,CAAC;IAChD,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,WAAW,EACT,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,GAAG;QACrF,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,SAAS,EAAE,QAAQ,CAAC,SAAS;KAC9B,CAAC;AACJ,CAAC;AAED,SAAS,wBAAwB,CAAC,OAA8C;IAC9E,IAAI,OAAO,CAAC,KAAK,KAAK,MAAM,IAAI,OAAO,CAAC,GAAG,KAAK,IAAI,EAAE,CAAC;QACrD,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;IACrE,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,OAAuB;IACvD,MAAM,OAAO,GAAG,iBAAiB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACpD,OAAO,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,OAAwB,EACxB,MAAsB,EACtB,OAAuB;IAEvB,MAAM,QAAQ,GAAG,uBAAuB,CAAC,OAAO,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,KAAK,EAAE;QAClF,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,SAAS,EAAE,OAAO,CAAC,SAAS;KAC7B,CAAC,CAAC;IACH,IAAI,CAAC,QAAQ;QAAE,OAAO,SAAS,CAAC;IAChC,yEAAyE;IACzE,yDAAyD;IACzD,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO;QAAE,OAAO,QAAQ,CAAC;IAC7C,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;IAC3E,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IACvD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;QAAE,OAAO,SAAS,CAAC;IAC1D,OAAO;QACL,GAAG,QAAQ;QACX,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,YAAY,CAAC;KACtD,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAS,aAAa,CAAC,IAAY,EAAE,IAAkB,EAAE,QAAgB;IACvE,0EAA0E;IAC1E,sEAAsE;IACtE,MAAM,MAAM,GACV,IAAI,KAAK,aAAa;QACpB,CAAC,CAAC,+BAA+B,QAAQ,EAAE;QAC3C,CAAC,CAAC,IAAI,KAAK,OAAO;YAChB,CAAC,CAAC,yBAAyB,QAAQ,EAAE;YACrC,CAAC,CAAC,IAAI,KAAK,QAAQ;gBACjB,CAAC,CAAC,yBAAyB,QAAQ,EAAE;gBACrC,CAAC,CAAC,kBAAkB,IAAI,KAAK,QAAQ,EAAE,CAAC;IAChD,IAAI,CAAC;QACH,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;YACjC,IAAI,IAAI,KAAK,OAAO;gBAAE,OAAO,SAAS,CAAC;YACvC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;YACpD,OAAO,UAAU,CAAC,MAAM,CAAC,IAAI,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;gBACxE,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,SAAS,CAAC;QAChB,CAAC;QACD,OAAO,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7E,CAAC;IAAC,MAAM,CAAC;QACP,0EAA0E;QAC1E,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,MAAsB;IAC5C,OAAO,MAAM,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AACtF,CAAC;AAED,SAAS,aAAa,CAAC,QAAkC,EAAE,MAAM,GAAG,EAAE;IACpE,4EAA4E;IAC5E,kDAAkD;IAClD,IAAI,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC;QAAE,OAAO,GAAG,CAAC;IAC9C,IAAI,QAAQ,CAAC,MAAM,KAAK,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC;IAC7E,OAAO,QAAQ,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;AAC/C,CAAC;AAED,SAAS,qBAAqB,CAAC,OAAe,EAAE,MAAsB;IACpE,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO;QAAE,OAAO,KAAK,CAAC;IAC1C,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;QAAE,OAAO,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC;IAChE,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;IAC3D,OAAO,WAAW,KAAK,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC;AAC1F,CAAC;AAED,SAAS,WAAW,CAClB,OAAwB,EACxB,MAAsB,EACtB,OAAuB;IAEvB,MAAM,QAAQ,GAAG,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1D,IAAI,CAAC,QAAQ;QACX,OAAO;YACL,OAAO,EAAE,GAAG,OAAO,CAAC,EAAE,IAAI,MAAM,CAAC,IAAI,EAAE;YACvC,WAAW,EAAE,CAAC,eAAe,MAAM,CAAC,IAAI,iBAAiB,OAAO,CAAC,EAAE,EAAE,CAAC;SACvE,CAAC;IAEJ,IAAI,OAAO,CAAC,cAAc,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC5C,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,WAAW,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;IAC5D,MAAM,UAAU,GAAG,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACxF,IAAI,OAAO,GAAG,UAAU,CAAC;IACzB,IAAI,WAAW,GAAa,EAAE,CAAC;IAC/B,IAAI,MAAM,CAAC,OAAO,KAAK,eAAe,EAAE,CAAC;QACvC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,OAAO,CAAC,EAAE,EAAE,CAAC;QAC/D,MAAM,IAAI,GAAG,qBAAqB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;QAChF,IAAI,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAG,sBAAsB,CACnC,IAAI,EACJ,MAAM,EACN,MAAM,CAAC,OAAO,EACd,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,CAChC,CAAC;YACF,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;YACzB,WAAW,GAAG,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;QACxC,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YACnC,0EAA0E;YAC1E,0EAA0E;YAC1E,qDAAqD;YACrD,OAAO,GAAG,0BAA0B,CAClC,IAAI,EACJ,MAAM,EACN,MAAM,CAAC,OAAO,EACd,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,CAChC,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;QAC7F,CAAC;IACH,CAAC;SAAM,IAAI,MAAM,CAAC,OAAO,KAAK,aAAa,EAAE,CAAC;QAC5C,IAAI,QAAQ,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC/B,OAAO;gBACL,OAAO,EAAE,QAAQ,CAAC,WAAW;gBAC7B,WAAW,EAAE;oBACX,wCAAwC,QAAQ,CAAC,MAAM,IAAI,SAAS,mBAAmB;iBACxF;aACF,CAAC;QACJ,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAY,CAAC;QACrD,MAAM,MAAM,GAAG,aAAa,CAC1B,UAAU,IAAI,IAAI,EAClB,MAAM,CAAC,SAAS,IAAI,QAAQ,CAAC,SAAS,IAAI,EAAE,EAC5C,MAAM,CACP,CAAC;QACF,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QACzB,WAAW,GAAG,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;IACxC,CAAC;SAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACtC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAC3B,CAAC;IACD,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QACnE,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,WAAW,EAAE,WAAW,EAAE,CAAC;IACxD,IAAI,OAAO,KAAK,UAAU;QAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,WAAW,EAAE,WAAW,EAAE,CAAC;IAClF,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACpB,MAAM,CACJ,QAAQ,CAAC,IAAI,EACb,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,EAChF,OAAO,CAAC,KAAK,KAAK,MAAM,EACxB,OAAO,CAAC,SAAS,CAClB,CAAC;QACF,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,WAAW,EAAE,WAAW,EAAE,CAAC;AACxD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,IAAkB,EAAE,OAAuB;IACzE,wBAAwB,CAAC,OAAO,CAAC,CAAC;IAClC,IAAI,IAAI,CAAC,KAAK,KAAK,OAAO,CAAC,KAAK;QAC9B,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,IAAI,CAAC,IAAI,CAAC,sBAAsB;QAC9B,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;IACpE,MAAM,OAAO,GAAG,iBAAiB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACpD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IACvE,MAAM,MAAM,GAAG,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;QAC5C,MAAM,MAAM,GAAG,CAAC,MAAsB,EAAE,EAAE,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC;QAC1F,MAAM,MAAM,GAAG,mBAAmB,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACzD,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC7D,IAAI,OAAO;YAAE,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,GAAG,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;QACzE,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC,CAAC;IACH,OAAO,EAAE,GAAG,MAAM,EAAE,WAAW,EAAE,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,GAAG,MAAM,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,CAAC;AACxF,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,YAAY,CAC1B,OAAwB,EACxB,OAAkC,EAClC,OAAuB;IAEvB,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QACrD,IAAI,MAAM,CAAC,OAAO;YAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACjD,IAAI,MAAM,CAAC,OAAO;YAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACjD,WAAW,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;IAC1C,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;AAC3C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,OAAuB;IAC3D,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,CAAC;IACxC,IAAI,OAAO,CAAC,MAAM;QAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC;IAC7F,OAAO,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAClC,CAAC;AAED,SAAS,OAAO,CAAC,OAAwB;IACvC,IAAI,OAAO,CAAC,GAAG;QAAE,OAAO,CAAC,GAAG,YAAY,CAAC,CAAC;IAC1C,IAAI,OAAO,CAAC,QAAQ;QAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAChD,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;AACjD,CAAC;AAED,SAAS,YAAY,CAAC,OAA+C;IACnE,OAAO,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;AACnG,CAAC;AAED,SAAS,oBAAoB,CAC3B,OAAsB,EACtB,SAAoD;IAEpD,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QAAE,OAAO;IACxB,OAAO,CAAC,CAAC,CAAC,GAAG;QACX,GAAG,OAAO,CAAC,CAAC,CAAC;QACb,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,OAAO,CAAC;QACtD,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,OAAO,CAAC;QACtD,WAAW,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,SAAS,CAAC,WAAW,CAAC;KACnE,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,gBAAgB,CAAC,OAAwB;IAChD,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IACnC,OAAO,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CACpC,sBAAsB,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,EAAE;QAC1C,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC;KAC1C,CAAC,CACH,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,OAAwB;IAC7D,wBAAwB,CAAC,OAAO,CAAC,CAAC;IAClC,MAAM,OAAO,GAAkB,EAAE,CAAC;IAClC,KAAK,MAAM,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC;QACrC,OAAO,CAAC,IAAI,CAAC,MAAM,eAAe,CAAC,EAAE,GAAG,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;IAChE,oBAAoB,CAAC,OAAO,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;IACzD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,OAAwB;IAC9D,wBAAwB,CAAC,OAAO,CAAC,CAAC;IAClC,MAAM,OAAO,GAAkB,EAAE,CAAC;IAClC,KAAK,MAAM,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,EAAE,GAAG,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;QACzD,MAAM,OAAO,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAC5C,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,MAAM,WAAW,GAAG,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;QAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;QACvE,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;YAC7B,0EAA0E;YAC1E,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7E,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBAClC,MAAM,QAAQ,GAAG,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,GAAG,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;gBAC3E,IAAI,CAAC,QAAQ,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC5C,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,IAAI,GAAG,QAAQ,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;oBACpE,SAAS;gBACX,CAAC;gBACD,MAAM,UAAU,GAAG,YAAY,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;gBACvD,IAAI,OAAO,GAAG,UAAU,CAAC;gBACzB,IAAI,iBAAiB,GAAsB,EAAE,CAAC;gBAC9C,IAAI,MAAM,CAAC,OAAO,KAAK,eAAe,EAAE,CAAC;oBACvC,OAAO,GAAG,MAAM,CAAC,OAAO;wBACtB,CAAC,CAAC,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC;wBAC5D,CAAC,CAAC,mBAAmB,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,QAAQ,EAAE,CAAC,CAAC;gBACrF,CAAC;qBAAM,IAAI,MAAM,CAAC,OAAO,KAAK,aAAa,EAAE,CAAC;oBAC5C,IAAI,QAAQ,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;wBAC/B,WAAW,CAAC,IAAI,CACd,uCAAuC,QAAQ,CAAC,MAAM,IAAI,SAAS,mBAAmB,CACvF,CAAC;wBACF,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;wBACnC,SAAS;oBACX,CAAC;oBACD,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,QAAQ,CAAC,SAAS,CAAC;oBACzD,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC;wBACvB,WAAW,CAAC,IAAI,CAAC,kCAAkC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;wBAC3E,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;wBACnC,SAAS;oBACX,CAAC;oBACD,MAAM,OAAO,GAAG,cAAc,CAC5B,UAAU,EACV,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EACtB,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAE,CACjC,CAAC;oBACF,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;oBAC1B,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC;gBAC1C,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;oBACnC,SAAS;gBACX,CAAC;gBACD,WAAW,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,CAAC;gBACvC,IACE,iBAAiB,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;oBACvE,OAAO,KAAK,UAAU,EACtB,CAAC;oBACD,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;oBACnC,SAAS;gBACX,CAAC;gBACD,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;oBACpB,MAAM,CACJ,QAAQ,CAAC,IAAI,EACb,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,EAChF,OAAO,CAAC,KAAK,KAAK,MAAM,CACzB,CAAC;oBACF,IAAI,qBAAqB,CAAC,OAAO,EAAE,MAAM,CAAC;wBAAE,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;;wBACjE,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;gBAC3C,CAAC;gBACD,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YACrC,CAAC;QACH,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;IACxD,CAAC;IACD,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;QACzB,oBAAoB,CAAC,OAAO,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3D,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,OAAwB;IACjE,OAAO,gBAAgB,CAAC,OAAO,CAAC,CAAC;AACnC,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,eAAe,GAA8C;IACjE,WAAW,EAAE,cAAc;IAC3B,KAAK,EAAE,QAAQ;IACf,GAAG,EAAE,KAAK;IACV,OAAO,EAAE,UAAU;IACnB,KAAK,EAAE,QAAQ;IACf,IAAI,EAAE,OAAO;IACb,WAAW,EAAE,OAAO;IACpB,MAAM,EAAE,QAAQ;IAChB,UAAU,EAAE,aAAa;CAC1B,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,OAKxC;IACC,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC;IACtE,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;QAC1B,MAAM,OAAO,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAC5C,MAAM,SAAS,GAAgD,EAAE,CAAC;QAClE,MAAM,WAAW,GAAa,EAAE,CAAC;QACjC,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAmB,EAAE,CAAC;YAC1E,MAAM,QAAQ,GAAG,uBAAuB,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,KAAK,EAAE;gBACrE,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,IAAI,EAAE,OAAO,CAAC,IAAI;aACnB,CAAC,CAAC;YACH,IAAI,CAAC,QAAQ;gBAAE,SAAS;YACxB,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC/B,MAAM,UAAU,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;gBACzC,MAAM,KAAK,GAAG,UAAU,IAAI,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;gBAC7D,IAAI,UAAU,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;oBACrC,SAAS,CAAC,IAAI,CAAC;wBACb,IAAI,EAAE,QAAQ,CAAC,WAAW;wBAC1B,KAAK,EAAE,OAAO;wBACd,MAAM,EAAE,cAAc,UAAU,OAAO,KAAK,oDAAoD;qBACjG,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;gBACnE,CAAC;gBACD,SAAS;YACX,CAAC;YACD,MAAM,KAAK,GAAG,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,kBAAkB,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;YAC5F,SAAS,CAAC,IAAI,CAAC;gBACb,IAAI,EAAE,QAAQ,CAAC,WAAW;gBAC1B,KAAK,EAAE,aAAa,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,IAAI,QAAQ,CAAC;aAC7D,CAAC,CAAC;QACL,CAAC;QACD,MAAM,IAAI,GACR,OAAO,CAAC,KAAK,KAAK,SAAS;YACzB,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;YACxC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,IAAI,OAAO,EAAE,CAAC,CAAC;QACzC,MAAM,cAAc,GAAG,kBAAkB,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QAC/D,IAAI,OAAO,CAAC,iBAAiB;YAC3B,WAAW,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,WAAW,qDAAqD,CAAC,CAAC;QAChG,OAAO;YACL,QAAQ;YACR,YAAY,EAAE,EAAE,GAAG,OAAO,CAAC,YAAY,EAAE;YACzC,YAAY,EAAE,MAAM,CAAC,WAAW,CAC9B,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACnE,UAAU;gBACV,QAAQ,CAAC,KAAK;aACf,CAAC,CACqC;YACzC,SAAS;YACT,MAAM,EAAE,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;YAC3E,WAAW;YACX,SAAS,EAAE,IAAI;SAChB,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
1
|
+
{"version":3,"file":"operations.js","sourceRoot":"","sources":["../../../src/platform-adapters/operations.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `owned_file` intents: files Monomind ships whole — the Mastermind skills and
|
|
3
|
+
* their reference files. Older versions wrapped each in a
|
|
4
|
+
* `skills:<owner>:<name>` marker block to claim it, which made every install
|
|
5
|
+
* rewrite files whose content had not changed (GH #344). Ownership now comes
|
|
6
|
+
* from the init manifest's file hashes, through the same guard init uses for
|
|
7
|
+
* every other shipped file: an untouched install is refreshed, one the user
|
|
8
|
+
* edited is kept with the new version beside it, and a file an older version
|
|
9
|
+
* marked is recognised by its content once that markup is ignored.
|
|
10
|
+
*/
|
|
11
|
+
import type { ArtifactIntent, InstallRequest, OwnedFileWriter, ResolvedArtifactLocation } from './types.js';
|
|
12
|
+
export interface OwnedFileResult {
|
|
13
|
+
changed?: string;
|
|
14
|
+
skipped?: string;
|
|
15
|
+
diagnostics: string[];
|
|
16
|
+
}
|
|
17
|
+
/** Write `intent.content` as the whole file, unless the user edited it. */
|
|
18
|
+
export declare function applyOwnedFile(location: ResolvedArtifactLocation, intent: ArtifactIntent, dryRun: boolean, writer: () => OwnedFileWriter): OwnedFileResult;
|
|
19
|
+
/** Whether `content` still holds a block an older version wrapped this file in. */
|
|
20
|
+
export declare function hasLegacyOwnership(content: string, intent: ArtifactIntent): boolean;
|
|
21
|
+
/** Uninstall: remove the file (after a backup) unless the user edited it. */
|
|
22
|
+
export declare function releaseOwnedFile(root: string, path: string, intent: ArtifactIntent, request: Pick<InstallRequest, 'dryRun' | 'scope'>): boolean;
|
|
23
|
+
//# sourceMappingURL=owned-files.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"owned-files.d.ts","sourceRoot":"","sources":["../../../src/platform-adapters/owned-files.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AASH,OAAO,KAAK,EACV,cAAc,EACd,cAAc,EACd,eAAe,EACf,wBAAwB,EACzB,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,2EAA2E;AAC3E,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,wBAAwB,EAClC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,OAAO,EACf,MAAM,EAAE,MAAM,eAAe,GAC5B,eAAe,CAmBjB;AAED,mFAAmF;AACnF,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,GAAG,OAAO,CAInF;AAWD,6EAA6E;AAC7E,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,QAAQ,GAAG,OAAO,CAAC,GAChD,OAAO,CAOT"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `owned_file` intents: files Monomind ships whole — the Mastermind skills and
|
|
3
|
+
* their reference files. Older versions wrapped each in a
|
|
4
|
+
* `skills:<owner>:<name>` marker block to claim it, which made every install
|
|
5
|
+
* rewrite files whose content had not changed (GH #344). Ownership now comes
|
|
6
|
+
* from the init manifest's file hashes, through the same guard init uses for
|
|
7
|
+
* every other shipped file: an untouched install is refreshed, one the user
|
|
8
|
+
* edited is kept with the new version beside it, and a file an older version
|
|
9
|
+
* marked is recognised by its content once that markup is ignored.
|
|
10
|
+
*/
|
|
11
|
+
import { createHash } from 'node:crypto';
|
|
12
|
+
import { existsSync, readFileSync, unlinkSync } from 'node:fs';
|
|
13
|
+
import { relative, sep } from 'node:path';
|
|
14
|
+
import { NEW_VERSION_SUFFIX } from '../init/file-guard.js';
|
|
15
|
+
import { readInitManifest } from '../init/init-manifest.js';
|
|
16
|
+
import { hasManagedMarker, skillName } from './merge.js';
|
|
17
|
+
import { backup } from './mutation.js';
|
|
18
|
+
/** Write `intent.content` as the whole file, unless the user edited it. */
|
|
19
|
+
export function applyOwnedFile(location, intent, dryRun, writer) {
|
|
20
|
+
const display = location.displayPath;
|
|
21
|
+
const old = existsSync(location.path) ? readFileSync(location.path, 'utf8') : undefined;
|
|
22
|
+
if (old === intent.content)
|
|
23
|
+
return { skipped: display, diagnostics: [] };
|
|
24
|
+
const name = location.path.endsWith('SKILL.md') ? skillName(intent.content) : undefined;
|
|
25
|
+
if (old !== undefined && name && skillName(old) !== name)
|
|
26
|
+
return {
|
|
27
|
+
skipped: display,
|
|
28
|
+
diagnostics: [`ERROR: foreign SKILL.md prevents installing ${name}`],
|
|
29
|
+
};
|
|
30
|
+
if (dryRun)
|
|
31
|
+
return { changed: display, diagnostics: [] };
|
|
32
|
+
if (writer().write(location.path, intent.content) !== 'kept')
|
|
33
|
+
return { changed: display, diagnostics: [] };
|
|
34
|
+
return {
|
|
35
|
+
skipped: display,
|
|
36
|
+
diagnostics: [
|
|
37
|
+
`${display}: kept because it was edited; the new version is beside it as ${display}${NEW_VERSION_SUFFIX}`,
|
|
38
|
+
],
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
/** Whether `content` still holds a block an older version wrapped this file in. */
|
|
42
|
+
export function hasLegacyOwnership(content, intent) {
|
|
43
|
+
return [intent.marker, ...(intent.supersedes ?? [])].some((marker) => marker !== undefined && hasManagedMarker(content, marker));
|
|
44
|
+
}
|
|
45
|
+
/** Whether the file at `path` is exactly what Monomind shipped or last wrote. */
|
|
46
|
+
function isUnedited(root, path, intent) {
|
|
47
|
+
const content = readFileSync(path, 'utf8');
|
|
48
|
+
if (content === intent.content)
|
|
49
|
+
return true;
|
|
50
|
+
const rel = relative(root, path).split(sep).join('/');
|
|
51
|
+
const recorded = readInitManifest(root)?.files?.[rel];
|
|
52
|
+
return recorded === createHash('sha256').update(content).digest('hex');
|
|
53
|
+
}
|
|
54
|
+
/** Uninstall: remove the file (after a backup) unless the user edited it. */
|
|
55
|
+
export function releaseOwnedFile(root, path, intent, request) {
|
|
56
|
+
if (!isUnedited(root, path, intent))
|
|
57
|
+
return false;
|
|
58
|
+
if (!request.dryRun) {
|
|
59
|
+
backup(path, root, request.scope === 'user');
|
|
60
|
+
unlinkSync(path);
|
|
61
|
+
}
|
|
62
|
+
return true;
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=owned-files.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"owned-files.js","sourceRoot":"","sources":["../../../src/platform-adapters/owned-files.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/** `platforms doctor`: what each adapter declares, and what is on disk. */
|
|
2
|
+
import type { InstallRequest, PlatformAdapter, PlatformDoctorReport } from './types.js';
|
|
3
|
+
export declare function runPlatformsDoctor(request: {
|
|
4
|
+
platform?: PlatformAdapter['id'];
|
|
5
|
+
path?: string;
|
|
6
|
+
scope: InstallRequest['scope'];
|
|
7
|
+
home?: string;
|
|
8
|
+
}): Promise<PlatformDoctorReport[]>;
|
|
9
|
+
//# sourceMappingURL=platform-doctor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"platform-doctor.d.ts","sourceRoot":"","sources":["../../../src/platform-adapters/platform-doctor.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAU3E,OAAO,KAAK,EAGV,cAAc,EACd,eAAe,EACf,oBAAoB,EACrB,MAAM,YAAY,CAAC;AA6DpB,wBAAsB,kBAAkB,CAAC,OAAO,EAAE;IAChD,QAAQ,CAAC,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAsDlC"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
/** `platforms doctor`: what each adapter declares, and what is on disk. */
|
|
2
|
+
import { existsSync, readFileSync, statSync } from 'node:fs';
|
|
3
|
+
import { homedir } from 'node:os';
|
|
4
|
+
import { join, relative, resolve, sep } from 'node:path';
|
|
5
|
+
import { readInitManifest } from '../init/init-manifest.js';
|
|
6
|
+
import { resolveArtifactLocation } from './locations.js';
|
|
7
|
+
import { findLegacySurfaces } from './migration.js';
|
|
8
|
+
import { PLATFORM_IDS, PLATFORM_REGISTRY } from './registry.js';
|
|
9
|
+
import { sharedSkillSurface } from './shared-surface.js';
|
|
10
|
+
/**
|
|
11
|
+
* Doctor must tolerate both document artifacts and directory-root artifacts
|
|
12
|
+
* (notably portable skill roots). A directory is managed only when its router
|
|
13
|
+
* package is recorded in the init manifest (or, from an older install, carries
|
|
14
|
+
* this platform's own marker); an arbitrary existing directory remains foreign.
|
|
15
|
+
*/
|
|
16
|
+
function artifactState(path, kind, platform, base) {
|
|
17
|
+
// Intent markers use plural artifact namespaces for the two shared roots.
|
|
18
|
+
// Keep this mapping here rather than guessing from a filesystem path.
|
|
19
|
+
const marker = kind === 'instruction'
|
|
20
|
+
? `monomind:start instructions:${platform}`
|
|
21
|
+
: kind === 'skill'
|
|
22
|
+
? `monomind:start skills:${platform}`
|
|
23
|
+
: kind === 'status'
|
|
24
|
+
? `monomind:start status:${platform}`
|
|
25
|
+
: `monomind:start ${kind}s:${platform}`;
|
|
26
|
+
try {
|
|
27
|
+
if (statSync(path).isDirectory()) {
|
|
28
|
+
if (kind !== 'skill')
|
|
29
|
+
return 'foreign';
|
|
30
|
+
const router = join(path, 'mastermind', 'SKILL.md');
|
|
31
|
+
const recorded = readInitManifest(base)?.files?.[relative(base, router).split(sep).join('/')];
|
|
32
|
+
return existsSync(router) &&
|
|
33
|
+
(recorded !== undefined || readFileSync(router, 'utf8').includes(marker))
|
|
34
|
+
? 'managed'
|
|
35
|
+
: 'foreign';
|
|
36
|
+
}
|
|
37
|
+
return readFileSync(path, 'utf8').includes(marker) ? 'managed' : 'foreign';
|
|
38
|
+
}
|
|
39
|
+
catch {
|
|
40
|
+
// A raced deletion or inaccessible artifact is not evidence of ownership.
|
|
41
|
+
return 'foreign';
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* The capability that gates each artifact kind's renderer (see
|
|
46
|
+
* renderers/*.ts, each of which skips rendering unless its capability is
|
|
47
|
+
* 'native'). Doctor uses this to tell a capability-gated location — declared
|
|
48
|
+
* in the registry but intentionally never written because the capability
|
|
49
|
+
* hasn't been promoted — apart from a genuine gap in an already-native one.
|
|
50
|
+
* A kind absent here (e.g. the unused 'plugin') falls back to plain 'missing'.
|
|
51
|
+
*/
|
|
52
|
+
const KIND_CAPABILITY = {
|
|
53
|
+
instruction: 'instructions',
|
|
54
|
+
skill: 'skills',
|
|
55
|
+
mcp: 'mcp',
|
|
56
|
+
command: 'commands',
|
|
57
|
+
agent: 'agents',
|
|
58
|
+
hook: 'hooks',
|
|
59
|
+
hook_bridge: 'hooks',
|
|
60
|
+
status: 'status',
|
|
61
|
+
permission: 'permissions',
|
|
62
|
+
};
|
|
63
|
+
export async function runPlatformsDoctor(request) {
|
|
64
|
+
const ids = request.platform ? [request.platform] : [...PLATFORM_IDS];
|
|
65
|
+
return ids.map((platform) => {
|
|
66
|
+
const adapter = PLATFORM_REGISTRY[platform];
|
|
67
|
+
const artifacts = [];
|
|
68
|
+
const diagnostics = [];
|
|
69
|
+
const base = request.scope === 'project'
|
|
70
|
+
? resolve(request.path ?? process.cwd())
|
|
71
|
+
: resolve(request.home ?? homedir());
|
|
72
|
+
for (const kind of Object.keys(adapter.paths.locations)) {
|
|
73
|
+
const location = resolveArtifactLocation(adapter, kind, request.scope, {
|
|
74
|
+
root: request.path,
|
|
75
|
+
home: request.home,
|
|
76
|
+
});
|
|
77
|
+
if (!location)
|
|
78
|
+
continue;
|
|
79
|
+
if (!existsSync(location.path)) {
|
|
80
|
+
const capability = KIND_CAPABILITY[kind];
|
|
81
|
+
const level = capability && adapter.capabilities[capability];
|
|
82
|
+
if (capability && level !== 'native') {
|
|
83
|
+
artifacts.push({
|
|
84
|
+
path: location.displayPath,
|
|
85
|
+
state: 'gated',
|
|
86
|
+
reason: `capability ${capability} is ${level}; this artifact is not rendered until it is native`,
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
artifacts.push({ path: location.displayPath, state: 'missing' });
|
|
91
|
+
}
|
|
92
|
+
continue;
|
|
93
|
+
}
|
|
94
|
+
const owner = kind === 'skill' ? sharedSkillSurface(adapter, request.scope)?.id : undefined;
|
|
95
|
+
artifacts.push({
|
|
96
|
+
path: location.displayPath,
|
|
97
|
+
state: artifactState(location.path, kind, owner ?? platform, base),
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
const legacyFindings = findLegacySurfaces(base, request.scope);
|
|
101
|
+
if (adapter.requiresDiscovery)
|
|
102
|
+
diagnostics.push(`${adapter.displayName}: native enhancements require successful discovery.`);
|
|
103
|
+
return {
|
|
104
|
+
platform,
|
|
105
|
+
capabilities: { ...adapter.capabilities },
|
|
106
|
+
verification: Object.fromEntries(Object.entries(adapter.verification).map(([capability, evidence]) => [
|
|
107
|
+
capability,
|
|
108
|
+
evidence.level,
|
|
109
|
+
])),
|
|
110
|
+
artifacts,
|
|
111
|
+
legacy: { findings: legacyFindings, migratable: legacyFindings.length > 0 },
|
|
112
|
+
diagnostics,
|
|
113
|
+
sanitized: true,
|
|
114
|
+
};
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
//# sourceMappingURL=platform-doctor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"platform-doctor.js","sourceRoot":"","sources":["../../../src/platform-adapters/platform-doctor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../../../../src/platform-adapters/renderers/skills.ts"],"names":[],"mappings":"AAAA,kDAAkD;AAUlD,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAOjF,4DAA4D;AAC5D,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,YAAY,GAAG,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../../../../src/platform-adapters/renderers/skills.ts"],"names":[],"mappings":"AAAA,kDAAkD;AAUlD,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAOjF,4DAA4D;AAC5D,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,YAAY,GAAG,cAAc,EAAE,CAqDjG"}
|