@agimon-ai/po-plan 0.0.0-alpha.0 → 0.0.0-alpha.10
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/README.md +1 -1
- package/dist/config-1hJV8Z69.mjs +25 -0
- package/dist/config-1hJV8Z69.mjs.map +1 -0
- package/dist/config-BGEbU75i.d.mts +13 -0
- package/dist/config-BGEbU75i.d.mts.map +1 -0
- package/dist/config-BjNpZeNO.cjs +42 -0
- package/dist/config-BjNpZeNO.cjs.map +1 -0
- package/dist/config.cjs +40 -10
- package/dist/config.d.mts +2 -2
- package/dist/config.mjs +1 -2
- package/dist/extensions/mcp-ui.mjs.map +1 -1
- package/dist/extensions/mcp.cjs +2 -2
- package/dist/extensions/mcp.cjs.map +1 -1
- package/dist/extensions/mcp.d.mts +1 -1
- package/dist/extensions/mcp.mjs +2 -2
- package/dist/extensions/mcp.mjs.map +1 -1
- package/dist/extensions/native.mjs +386 -0
- package/dist/extensions/native.mjs.map +1 -0
- package/dist/extensions/server.cjs +21 -22
- package/dist/extensions/server.cjs.map +1 -1
- package/dist/extensions/server.d.mts +1 -1
- package/dist/extensions/server.mjs +22 -23
- package/dist/extensions/server.mjs.map +1 -1
- package/dist/extensions/web.mjs +28 -46
- package/dist/extensions/web.mjs.map +1 -1
- package/dist/fableFlow.mjs +1 -2
- package/dist/index.cjs +41 -11
- package/dist/index.d.mts +2 -2
- package/dist/index.mjs +3 -3
- package/dist/logSinkTelemetry.cjs +12 -12
- package/dist/logSinkTelemetry.cjs.map +1 -1
- package/dist/logSinkTelemetry.d.mts +12 -12
- package/dist/logSinkTelemetry.mjs +13 -13
- package/dist/logSinkTelemetry.mjs.map +1 -1
- package/dist/planConfig.cjs +1 -1
- package/dist/planConfig.cjs.map +1 -1
- package/dist/planConfig.d.mts +2 -1
- package/dist/planConfig.mjs +1 -1
- package/dist/planConfig.mjs.map +1 -1
- package/dist/{prompts-DUVUPNZd.cjs → prompts-BegMUqz9.cjs} +2 -2
- package/dist/prompts-BegMUqz9.cjs.map +1 -0
- package/dist/{prompts-DnVJGtEC.mjs → prompts-mKH52qIX.mjs} +2 -2
- package/dist/prompts-mKH52qIX.mjs.map +1 -0
- package/dist/prompts.cjs +1 -1
- package/dist/prompts.mjs +1 -2
- package/llms.txt +1 -1
- package/package.json +44 -16
- package/src/prompts/po-use-plan/SKILL.md +2 -2
- package/src/types/planApi.ts +1 -1
- package/src/types/planSettings.ts +1 -1
- package/dist/config-BC-Tou05.mjs +0 -25
- package/dist/config-BC-Tou05.mjs.map +0 -1
- package/dist/config-D0iTexGm.cjs +0 -42
- package/dist/config-D0iTexGm.cjs.map +0 -1
- package/dist/config-DWo57HKB.d.mts +0 -13
- package/dist/config-DWo57HKB.d.mts.map +0 -1
- package/dist/prompts-DUVUPNZd.cjs.map +0 -1
- package/dist/prompts-DnVJGtEC.mjs.map +0 -1
package/README.md
CHANGED
|
@@ -28,7 +28,7 @@ separates verified evidence from hypotheses. Code Review planning inspects chang
|
|
|
28
28
|
reports actionable findings with severity and file references, and proposes scoped fixes with
|
|
29
29
|
validation steps. All three flavors use the same stored-plan and explicit approval workflow.
|
|
30
30
|
Saved Fable sessions resume as normal planning while retaining their original model settings.
|
|
31
|
-
The child capability ceiling comes from `
|
|
31
|
+
The child capability ceiling comes from `po/subagent-policy` and is removed when either
|
|
32
32
|
provider or Plan unloads.
|
|
33
33
|
|
|
34
34
|
A model restoration failure leaves Plan active and reports the failure rather than pretending
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { getHarnessState, globalPoConfigPath, loadHarnessState, loadPoConfig, mergePoConfigs, parsePlanningModeConfig, parsePoConfig, repositoryPoConfigPath, resolvePlanningPlansDirectory } from "@agimon-ai/po-config";
|
|
2
|
+
//#region src/schemas/plan/config.ts
|
|
3
|
+
const DEFAULT_PROJECT_TRUST = "ask";
|
|
4
|
+
function parsePoConfig$1(content, filePath) {
|
|
5
|
+
const config = parsePoConfig(content, filePath);
|
|
6
|
+
return config.modes ? { modes: config.modes } : {};
|
|
7
|
+
}
|
|
8
|
+
function mergePoConfigs$1(globalConfig, repositoryConfig) {
|
|
9
|
+
const merged = mergePoConfigs({
|
|
10
|
+
...globalConfig,
|
|
11
|
+
projectTrust: DEFAULT_PROJECT_TRUST
|
|
12
|
+
}, {
|
|
13
|
+
...repositoryConfig,
|
|
14
|
+
projectTrust: DEFAULT_PROJECT_TRUST
|
|
15
|
+
});
|
|
16
|
+
return merged.modes ? { modes: merged.modes } : {};
|
|
17
|
+
}
|
|
18
|
+
function loadPoConfig$1(repoRoot, homeDirectory) {
|
|
19
|
+
const config = loadPoConfig(repoRoot, homeDirectory);
|
|
20
|
+
return config.modes ? { modes: config.modes } : {};
|
|
21
|
+
}
|
|
22
|
+
//#endregion
|
|
23
|
+
export { mergePoConfigs$1 as a, repositoryPoConfigPath as c, loadPoConfig$1 as i, resolvePlanningPlansDirectory as l, globalPoConfigPath as n, parsePlanningModeConfig as o, loadHarnessState as r, parsePoConfig$1 as s, getHarnessState as t };
|
|
24
|
+
|
|
25
|
+
//# sourceMappingURL=config-1hJV8Z69.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-1hJV8Z69.mjs","names":["parsePoConfig","parseSharedPoConfig","mergePoConfigs","mergeSharedPoConfigs","loadPoConfig","loadSharedPoConfig"],"sources":["../src/schemas/plan/config.ts"],"sourcesContent":["import {\n getHarnessState,\n globalPoConfigPath,\n loadHarnessState,\n loadPoConfig as loadSharedPoConfig,\n mergePoConfigs as mergeSharedPoConfigs,\n type PlanningAgentConfig,\n type PlanningModeConfig,\n type PlanningThinkingLevel,\n parsePlanningModeConfig,\n parsePoConfig as parseSharedPoConfig,\n repositoryPoConfigPath,\n resolvePlanningPlansDirectory,\n} from '@agimon-ai/po-config';\n\nexport type { PlanningAgentConfig, PlanningModeConfig, PlanningThinkingLevel };\n\nexport interface PoConfig {\n modes?: {\n planning?: PlanningModeConfig;\n };\n}\n\nconst DEFAULT_PROJECT_TRUST = 'ask' as const;\n\nexport {\n getHarnessState,\n globalPoConfigPath,\n loadHarnessState,\n parsePlanningModeConfig,\n repositoryPoConfigPath,\n resolvePlanningPlansDirectory,\n};\n\nexport function parsePoConfig(content: string, filePath: string): PoConfig {\n const config = parseSharedPoConfig(content, filePath);\n return config.modes ? { modes: config.modes } : {};\n}\n\nexport function mergePoConfigs(globalConfig: PoConfig, repositoryConfig: PoConfig): PoConfig {\n const merged = mergeSharedPoConfigs(\n { ...globalConfig, projectTrust: DEFAULT_PROJECT_TRUST },\n { ...repositoryConfig, projectTrust: DEFAULT_PROJECT_TRUST },\n );\n return merged.modes ? { modes: merged.modes } : {};\n}\n\nexport function loadPoConfig(repoRoot: string, homeDirectory?: string): PoConfig {\n const config = loadSharedPoConfig(repoRoot, homeDirectory);\n return config.modes ? { modes: config.modes } : {};\n}\n"],"mappings":";;AAuBA,MAAM,wBAAwB;AAW9B,SAAgBA,gBAAc,SAAiB,UAA4B;CACzE,MAAM,SAASC,cAAoB,SAAS,QAAQ;CACpD,OAAO,OAAO,QAAQ,EAAE,OAAO,OAAO,MAAM,IAAI,CAAC;AACnD;AAEA,SAAgBC,iBAAe,cAAwB,kBAAsC;CAC3F,MAAM,SAASC,eACb;EAAE,GAAG;EAAc,cAAc;CAAsB,GACvD;EAAE,GAAG;EAAkB,cAAc;CAAsB,CAC7D;CACA,OAAO,OAAO,QAAQ,EAAE,OAAO,OAAO,MAAM,IAAI,CAAC;AACnD;AAEA,SAAgBC,eAAa,UAAkB,eAAkC;CAC/E,MAAM,SAASC,aAAmB,UAAU,aAAa;CACzD,OAAO,OAAO,QAAQ,EAAE,OAAO,OAAO,MAAM,IAAI,CAAC;AACnD"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { PlanningAgentConfig, PlanningModeConfig, PlanningThinkingLevel, getHarnessState, globalPoConfigPath, loadHarnessState, parsePlanningModeConfig, repositoryPoConfigPath, resolvePlanningPlansDirectory } from "@agimon-ai/po-config";
|
|
2
|
+
//#region src/schemas/plan/config.d.ts
|
|
3
|
+
interface PoConfig {
|
|
4
|
+
modes?: {
|
|
5
|
+
planning?: PlanningModeConfig;
|
|
6
|
+
};
|
|
7
|
+
}
|
|
8
|
+
declare function parsePoConfig$1(content: string, filePath: string): PoConfig;
|
|
9
|
+
declare function mergePoConfigs$1(globalConfig: PoConfig, repositoryConfig: PoConfig): PoConfig;
|
|
10
|
+
declare function loadPoConfig$1(repoRoot: string, homeDirectory?: string): PoConfig;
|
|
11
|
+
//#endregion
|
|
12
|
+
export { getHarnessState as a, loadPoConfig$1 as c, parsePoConfig$1 as d, repositoryPoConfigPath as f, PoConfig as i, mergePoConfigs$1 as l, PlanningModeConfig as n, globalPoConfigPath as o, resolvePlanningPlansDirectory as p, PlanningThinkingLevel as r, loadHarnessState as s, PlanningAgentConfig as t, parsePlanningModeConfig as u };
|
|
13
|
+
//# sourceMappingURL=config-BGEbU75i.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-BGEbU75i.d.mts","names":["parsePoConfig","mergePoConfigs","loadPoConfig"],"sources":["../src/schemas/plan/config.ts"],"mappings":";;UAiBiB;EACf;IACE,WAAW;;;iBAeCA,gBAAc,iBAAiB,mBAAmB;iBAKlDC,iBAAe,cAAc,UAAU,kBAAkB,WAAW;iBAQpEC,eAAa,kBAAkB,yBAAyB"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
let _agimon_ai_po_config = require("@agimon-ai/po-config");
|
|
2
|
+
//#region src/schemas/plan/config.ts
|
|
3
|
+
const DEFAULT_PROJECT_TRUST = "ask";
|
|
4
|
+
function parsePoConfig(content, filePath) {
|
|
5
|
+
const config = (0, _agimon_ai_po_config.parsePoConfig)(content, filePath);
|
|
6
|
+
return config.modes ? { modes: config.modes } : {};
|
|
7
|
+
}
|
|
8
|
+
function mergePoConfigs(globalConfig, repositoryConfig) {
|
|
9
|
+
const merged = (0, _agimon_ai_po_config.mergePoConfigs)({
|
|
10
|
+
...globalConfig,
|
|
11
|
+
projectTrust: DEFAULT_PROJECT_TRUST
|
|
12
|
+
}, {
|
|
13
|
+
...repositoryConfig,
|
|
14
|
+
projectTrust: DEFAULT_PROJECT_TRUST
|
|
15
|
+
});
|
|
16
|
+
return merged.modes ? { modes: merged.modes } : {};
|
|
17
|
+
}
|
|
18
|
+
function loadPoConfig(repoRoot, homeDirectory) {
|
|
19
|
+
const config = (0, _agimon_ai_po_config.loadPoConfig)(repoRoot, homeDirectory);
|
|
20
|
+
return config.modes ? { modes: config.modes } : {};
|
|
21
|
+
}
|
|
22
|
+
//#endregion
|
|
23
|
+
Object.defineProperty(exports, "loadPoConfig", {
|
|
24
|
+
enumerable: true,
|
|
25
|
+
get: function() {
|
|
26
|
+
return loadPoConfig;
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
Object.defineProperty(exports, "mergePoConfigs", {
|
|
30
|
+
enumerable: true,
|
|
31
|
+
get: function() {
|
|
32
|
+
return mergePoConfigs;
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
Object.defineProperty(exports, "parsePoConfig", {
|
|
36
|
+
enumerable: true,
|
|
37
|
+
get: function() {
|
|
38
|
+
return parsePoConfig;
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
//# sourceMappingURL=config-BjNpZeNO.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-BjNpZeNO.cjs","names":["parseSharedPoConfig","mergeSharedPoConfigs","loadSharedPoConfig"],"sources":["../src/schemas/plan/config.ts"],"sourcesContent":["import {\n getHarnessState,\n globalPoConfigPath,\n loadHarnessState,\n loadPoConfig as loadSharedPoConfig,\n mergePoConfigs as mergeSharedPoConfigs,\n type PlanningAgentConfig,\n type PlanningModeConfig,\n type PlanningThinkingLevel,\n parsePlanningModeConfig,\n parsePoConfig as parseSharedPoConfig,\n repositoryPoConfigPath,\n resolvePlanningPlansDirectory,\n} from '@agimon-ai/po-config';\n\nexport type { PlanningAgentConfig, PlanningModeConfig, PlanningThinkingLevel };\n\nexport interface PoConfig {\n modes?: {\n planning?: PlanningModeConfig;\n };\n}\n\nconst DEFAULT_PROJECT_TRUST = 'ask' as const;\n\nexport {\n getHarnessState,\n globalPoConfigPath,\n loadHarnessState,\n parsePlanningModeConfig,\n repositoryPoConfigPath,\n resolvePlanningPlansDirectory,\n};\n\nexport function parsePoConfig(content: string, filePath: string): PoConfig {\n const config = parseSharedPoConfig(content, filePath);\n return config.modes ? { modes: config.modes } : {};\n}\n\nexport function mergePoConfigs(globalConfig: PoConfig, repositoryConfig: PoConfig): PoConfig {\n const merged = mergeSharedPoConfigs(\n { ...globalConfig, projectTrust: DEFAULT_PROJECT_TRUST },\n { ...repositoryConfig, projectTrust: DEFAULT_PROJECT_TRUST },\n );\n return merged.modes ? { modes: merged.modes } : {};\n}\n\nexport function loadPoConfig(repoRoot: string, homeDirectory?: string): PoConfig {\n const config = loadSharedPoConfig(repoRoot, homeDirectory);\n return config.modes ? { modes: config.modes } : {};\n}\n"],"mappings":";;AAuBA,MAAM,wBAAwB;AAW9B,SAAgB,cAAc,SAAiB,UAA4B;CACzE,MAAM,UAAA,GAASA,qBAAAA,cAAAA,CAAoB,SAAS,QAAQ;CACpD,OAAO,OAAO,QAAQ,EAAE,OAAO,OAAO,MAAM,IAAI,CAAC;AACnD;AAEA,SAAgB,eAAe,cAAwB,kBAAsC;CAC3F,MAAM,UAAA,GAASC,qBAAAA,eAAAA,CACb;EAAE,GAAG;EAAc,cAAc;CAAsB,GACvD;EAAE,GAAG;EAAkB,cAAc;CAAsB,CAC7D;CACA,OAAO,OAAO,QAAQ,EAAE,OAAO,OAAO,MAAM,IAAI,CAAC;AACnD;AAEA,SAAgB,aAAa,UAAkB,eAAkC;CAC/E,MAAM,UAAA,GAASC,qBAAAA,aAAAA,CAAmB,UAAU,aAAa;CACzD,OAAO,OAAO,QAAQ,EAAE,OAAO,OAAO,MAAM,IAAI,CAAC;AACnD"}
|
package/dist/config.cjs
CHANGED
|
@@ -1,12 +1,42 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_config = require("./config-
|
|
2
|
+
const require_config = require("./config-BjNpZeNO.cjs");
|
|
3
3
|
let _agimon_ai_po_config = require("@agimon-ai/po-config");
|
|
4
|
-
exports
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
exports
|
|
11
|
-
|
|
12
|
-
|
|
4
|
+
Object.defineProperty(exports, "getHarnessState", {
|
|
5
|
+
enumerable: true,
|
|
6
|
+
get: function() {
|
|
7
|
+
return _agimon_ai_po_config.getHarnessState;
|
|
8
|
+
}
|
|
9
|
+
});
|
|
10
|
+
Object.defineProperty(exports, "globalPoConfigPath", {
|
|
11
|
+
enumerable: true,
|
|
12
|
+
get: function() {
|
|
13
|
+
return _agimon_ai_po_config.globalPoConfigPath;
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
Object.defineProperty(exports, "loadHarnessState", {
|
|
17
|
+
enumerable: true,
|
|
18
|
+
get: function() {
|
|
19
|
+
return _agimon_ai_po_config.loadHarnessState;
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
exports.loadPoConfig = require_config.loadPoConfig;
|
|
23
|
+
exports.mergePoConfigs = require_config.mergePoConfigs;
|
|
24
|
+
Object.defineProperty(exports, "parsePlanningModeConfig", {
|
|
25
|
+
enumerable: true,
|
|
26
|
+
get: function() {
|
|
27
|
+
return _agimon_ai_po_config.parsePlanningModeConfig;
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
exports.parsePoConfig = require_config.parsePoConfig;
|
|
31
|
+
Object.defineProperty(exports, "repositoryPoConfigPath", {
|
|
32
|
+
enumerable: true,
|
|
33
|
+
get: function() {
|
|
34
|
+
return _agimon_ai_po_config.repositoryPoConfigPath;
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
Object.defineProperty(exports, "resolvePlanningPlansDirectory", {
|
|
38
|
+
enumerable: true,
|
|
39
|
+
get: function() {
|
|
40
|
+
return _agimon_ai_po_config.resolvePlanningPlansDirectory;
|
|
41
|
+
}
|
|
42
|
+
});
|
package/dist/config.d.mts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as getHarnessState, c as
|
|
2
|
-
export {
|
|
1
|
+
import { a as getHarnessState, c as loadPoConfig, d as parsePoConfig, f as repositoryPoConfigPath, i as PoConfig, l as mergePoConfigs, n as PlanningModeConfig, o as globalPoConfigPath, p as resolvePlanningPlansDirectory, r as PlanningThinkingLevel, s as loadHarnessState, t as PlanningAgentConfig, u as parsePlanningModeConfig } from "./config-BGEbU75i.mjs";
|
|
2
|
+
export { type PlanningAgentConfig, type PlanningModeConfig, type PlanningThinkingLevel, PoConfig, getHarnessState, globalPoConfigPath, loadHarnessState, loadPoConfig, mergePoConfigs, parsePlanningModeConfig, parsePoConfig, repositoryPoConfigPath, resolvePlanningPlansDirectory };
|
package/dist/config.mjs
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export { getHarnessState, globalDoomConfigPath, loadDoomConfig, loadHarnessState, mergeDoomConfigs, parseDoomConfig, parsePlanningModeConfig, repositoryDoomConfigPath, resolvePlanningPlansDirectory };
|
|
1
|
+
export { t as getHarnessState, n as globalPoConfigPath, r as loadHarnessState, i as loadPoConfig, a as mergePoConfigs, o as parsePlanningModeConfig, s as parsePoConfig, c as repositoryPoConfigPath, l as resolvePlanningPlansDirectory } from "./config-1hJV8Z69.mjs";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-ui.mjs","names":["Widget0","Widget1","Widget2"],"sources":["../../src/extensions/workspaces/sessions/(frontend)/tool/complete_plan.mcp.tsx","../../src/extensions/workspaces/sessions/(frontend)/tool/record_debug_evidence.mcp.tsx","../../src/extensions/workspaces/sessions/(frontend)/tool/write_plan.mcp.tsx","../../generated/mcp-ui.ts"],"sourcesContent":["import { defineMcpWidget, type
|
|
1
|
+
{"version":3,"file":"mcp-ui.mjs","names":["Widget0","Widget1","Widget2"],"sources":["../../src/extensions/workspaces/sessions/(frontend)/tool/complete_plan.mcp.tsx","../../src/extensions/workspaces/sessions/(frontend)/tool/record_debug_evidence.mcp.tsx","../../src/extensions/workspaces/sessions/(frontend)/tool/write_plan.mcp.tsx","../../generated/mcp-ui.ts"],"sourcesContent":["import { defineMcpWidget, type PoMcpWidgetProps } from '@agimon-ai/po-core/web';\nimport { McpToolFrame, McpToolOutput } from '@agimon-ai/po-web-components';\n\nfunction CompletePlanMcpWidget(props: PoMcpWidgetProps) {\n return (\n <McpToolFrame {...props} title=\"Request plan approval\">\n <McpToolOutput result={props.result} />\n </McpToolFrame>\n );\n}\n\nexport default defineMcpWidget(CompletePlanMcpWidget);\n","import { defineMcpWidget, type PoMcpWidgetProps } from '@agimon-ai/po-core/web';\nimport { McpToolFrame, McpToolFields, McpToolOutput } from '@agimon-ai/po-web-components';\n\nfunction RecordDebugEvidenceMcpWidget(props: PoMcpWidgetProps) {\n return (\n <McpToolFrame {...props} title=\"Record debug evidence\">\n <McpToolFields\n fields={[\n ['Issue', props.args.issue],\n ['Expected behavior', props.args.expectedBehavior],\n ['Observed behavior', props.args.actualBehavior],\n ]}\n />\n <McpToolOutput result={props.result} />\n </McpToolFrame>\n );\n}\n\nexport default defineMcpWidget(RecordDebugEvidenceMcpWidget);\n","import { defineMcpWidget, type PoMcpWidgetProps } from '@agimon-ai/po-core/web';\nimport { McpToolFrame, McpToolFields, McpToolOutput } from '@agimon-ai/po-web-components';\n\nfunction WritePlanMcpWidget(props: PoMcpWidgetProps) {\n return (\n <McpToolFrame {...props} title=\"Save plan\">\n <McpToolFields\n fields={[['Characters', typeof props.args.markdown === 'string' ? props.args.markdown.length : undefined]]}\n />\n <McpToolOutput result={props.result} />\n </McpToolFrame>\n );\n}\n\nexport default defineMcpWidget(WritePlanMcpWidget);\n","// Generated by @agimon-ai/po-build. Do not edit by hand.\nimport type { ComponentType } from 'react';\nimport type { PoMcpWidgetProps } from '@agimon-ai/po-core/mcpWidget';\nimport Widget0 from \"../src/extensions/workspaces/sessions/(frontend)/tool/complete_plan.mcp\";\nimport Widget1 from \"../src/extensions/workspaces/sessions/(frontend)/tool/record_debug_evidence.mcp\";\nimport Widget2 from \"../src/extensions/workspaces/sessions/(frontend)/tool/write_plan.mcp\";\n\nexport const widgets: Readonly<Record<string, ComponentType<PoMcpWidgetProps>>> = {\n \"@agimon-ai/po-plan/complete_plan\": Widget0,\n \"@agimon-ai/po-plan/record_debug_evidence\": Widget1,\n \"@agimon-ai/po-plan/write_plan\": Widget2,\n};\n"],"mappings":";;;;AAGA,SAAS,sBAAsB,OAAyB;CACtD,OACE,oBAAC,cAAD;EAAc,GAAI;EAAO,OAAM;EAC7B,UAAA,oBAAC,eAAD,EAAe,QAAQ,MAAM,OAAS,CAAA;CAC1B,CAAA;AAElB;AAEA,IAAA,4BAAe,gBAAgB,qBAAqB;;;ACRpD,SAAS,6BAA6B,OAAyB;CAC7D,OACE,qBAAC,cAAD;EAAc,GAAI;EAAO,OAAM;EAA/B,UAAA,CACE,oBAAC,eAAD,EACE,QAAQ;GACN,CAAC,SAAS,MAAM,KAAK,KAAK;GAC1B,CAAC,qBAAqB,MAAM,KAAK,gBAAgB;GACjD,CAAC,qBAAqB,MAAM,KAAK,cAAc;EACjD,EACD,CAAA,GACD,oBAAC,eAAD,EAAe,QAAQ,MAAM,OAAS,CAAA,CAC1B;;AAElB;AAEA,IAAA,oCAAe,gBAAgB,4BAA4B;;;ACf3D,SAAS,mBAAmB,OAAyB;CACnD,OACE,qBAAC,cAAD;EAAc,GAAI;EAAO,OAAM;EAA/B,UAAA,CACE,oBAAC,eAAD,EACE,QAAQ,CAAC,CAAC,cAAc,OAAO,MAAM,KAAK,aAAa,WAAW,MAAM,KAAK,SAAS,SAAS,KAAA,CAAS,CAAC,EAC1G,CAAA,GACD,oBAAC,eAAD,EAAe,QAAQ,MAAM,OAAS,CAAA,CAC1B;;AAElB;;;ACLA,MAAa,UAAqE;CAChF,oCAAoCA;CACpC,4CAA4CC;CAC5C,iCDIa,gBAAgB,kBCJIC;AACnC"}
|
package/dist/extensions/mcp.cjs
CHANGED
|
@@ -8,7 +8,7 @@ let typebox = require("typebox");
|
|
|
8
8
|
//#region src/extensions/workspaces/sessions/(backend)/skill/po-use-plan.mcp.ts
|
|
9
9
|
var po_use_plan_mcp_default = (0, _agimon_ai_po_core_mcpFacet.defineMcpSkill)({
|
|
10
10
|
name: "po-use-plan",
|
|
11
|
-
description: "Use
|
|
11
|
+
description: "Use Po Pi Plan to draft reviewable normal, debug, or code review plans, persist them, and exit safely.",
|
|
12
12
|
read: () => (0, _agimon_ai_po_core_serverFacet.readPackageResource)(require("url").pathToFileURL(__filename).href, "src/prompts/po-use-plan/SKILL.md")
|
|
13
13
|
});
|
|
14
14
|
//#endregion
|
|
@@ -18,7 +18,7 @@ const remoteWritePlanParameters = typebox.Type.Object({ markdown }, { additional
|
|
|
18
18
|
typebox.Type.Object({ markdown: typebox.Type.Optional(markdown) }, { additionalProperties: false });
|
|
19
19
|
//#endregion
|
|
20
20
|
//#region src/services/mcpTools/index.ts
|
|
21
|
-
const PLAN_MCP_TOOLS_SERVICE = "
|
|
21
|
+
const PLAN_MCP_TOOLS_SERVICE = "po/plan-mcp-tools";
|
|
22
22
|
const MODE_ID = "plan";
|
|
23
23
|
const MODE_LABEL = "Plan";
|
|
24
24
|
function bindMcpTool(context, name) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp.cjs","names":["defineMcpSkill","readPackageResource","Type","defineMcpTool","defineMcpTool","defineMcpTool","defineMcpPlugin","skillPoUsePlan","toolCompletePlan","toolRecordDebugEvidence","toolWritePlan"],"sources":["../../src/extensions/workspaces/sessions/(backend)/skill/po-use-plan.mcp.ts","../../src/schemas/mcpTools.ts","../../src/services/mcpTools/index.ts","../../src/extensions/workspaces/sessions/(backend)/tool/complete_plan.mcp.ts","../../src/extensions/workspaces/sessions/(backend)/tool/record_debug_evidence.mcp.ts","../../src/extensions/workspaces/sessions/(backend)/tool/write_plan.mcp.ts","../../generated/mcp.ts"],"sourcesContent":["import { defineMcpSkill } from '@agimon-ai/po-core/mcpFacet';\nimport { readPackageResource } from '@agimon-ai/po-core/serverFacet';\n\nexport default defineMcpSkill({\n name: 'po-use-plan',\n description
|
|
1
|
+
{"version":3,"file":"mcp.cjs","names":["defineMcpSkill","readPackageResource","Type","defineMcpTool","defineMcpTool","defineMcpTool","defineMcpPlugin","skillPoUsePlan","toolCompletePlan","toolRecordDebugEvidence","toolWritePlan"],"sources":["../../src/extensions/workspaces/sessions/(backend)/skill/po-use-plan.mcp.ts","../../src/schemas/mcpTools.ts","../../src/services/mcpTools/index.ts","../../src/extensions/workspaces/sessions/(backend)/tool/complete_plan.mcp.ts","../../src/extensions/workspaces/sessions/(backend)/tool/record_debug_evidence.mcp.ts","../../src/extensions/workspaces/sessions/(backend)/tool/write_plan.mcp.ts","../../generated/mcp.ts"],"sourcesContent":["import { defineMcpSkill } from '@agimon-ai/po-core/mcpFacet';\nimport { readPackageResource } from '@agimon-ai/po-core/serverFacet';\n\nexport default defineMcpSkill({\n name: 'po-use-plan',\n description: 'Use Po Pi Plan to draft reviewable normal, debug, or code review plans, persist them, and exit safely.',\n read: () => readPackageResource(import.meta.url, 'src/prompts/po-use-plan/SKILL.md'),\n});\n","import { Type } from 'typebox';\n\nconst markdown = Type.String({ minLength: 1 });\n\nexport const remoteWritePlanParameters = Type.Object({ markdown }, { additionalProperties: false });\nexport const writePlanParameters = Type.Object({ markdown: Type.Optional(markdown) }, { additionalProperties: false });\n","import type { PoHeadlessTool } from '@agimon-ai/po-core/headless';\nimport type { PoMcpPluginContext } from '@agimon-ai/po-core/mcpFacet';\nimport type { Context } from '@deepseek-ai/cordis';\n\nimport { remoteWritePlanParameters } from '../../schemas/mcpTools';\n\nexport const PLAN_MCP_TOOLS_SERVICE = 'po/plan-mcp-tools';\n\nconst MODE_ID = 'plan';\nconst MODE_LABEL = 'Plan';\n\nexport interface McpToolCatalog {\n get(name: string): PoHeadlessTool | undefined;\n names(): readonly string[];\n}\n\nexport function mountMcpTools(tools: readonly PoHeadlessTool[]) {\n return (context: Context): void => {\n context.plugin((providerContext) => {\n providerContext.provide(PLAN_MCP_TOOLS_SERVICE, {\n get: (name) => tools.find((tool) => tool.name === name),\n names: () => tools.map((tool) => tool.name),\n } satisfies McpToolCatalog);\n });\n };\n}\n\nexport function bindMcpTool(context: PoMcpPluginContext, name: string): PoHeadlessTool {\n const catalog = context.services.get<McpToolCatalog>(PLAN_MCP_TOOLS_SERVICE);\n const tool = catalog?.get(name);\n if (!tool || !catalog) throw new Error(`Plan tool is unavailable: ${name}`);\n const writesPlan = name === 'write_plan';\n return {\n ...tool,\n ...(writesPlan\n ? {\n description:\n 'Save the supplied Markdown plan in the bound session. Requires active Plan mode. Saving does not approve implementation.',\n parameters: remoteWritePlanParameters,\n annotations: { readOnlyHint: false, destructiveHint: false, openWorldHint: false },\n }\n : {}),\n execute(toolCallId, parameters, signal, onUpdate) {\n const activeModes = context.selection.read().state?.['minor-mode'] ?? [];\n if (!activeModes.includes(MODE_ID)) {\n const inactiveTools = [...catalog.names()].sort().join(', ');\n throw new Error(`${MODE_LABEL} minor mode is inactive. Inactive ${MODE_LABEL} tools: ${inactiveTools}.`);\n }\n if (\n writesPlan &&\n (typeof parameters !== 'object' ||\n parameters === null ||\n !('markdown' in parameters) ||\n typeof parameters.markdown !== 'string' ||\n !parameters.markdown.trim())\n ) {\n throw new Error(\n 'Supply the complete visible plan in the markdown argument. Remote calls cannot read the ChatGPT transcript.',\n );\n }\n const executionSignal = AbortSignal.any([context.signal, signal ?? context.signal]);\n return tool.execute(toolCallId, parameters, executionSignal, onUpdate, context.execution);\n },\n };\n}\n","import { defineMcpTool, type PoMcpPluginContext } from '@agimon-ai/po-core/mcpFacet';\n\nimport { bindMcpTool } from '../../../../../services/mcpTools';\n\nexport default defineMcpTool((context: PoMcpPluginContext) => bindMcpTool(context, 'complete_plan'));\n","import { defineMcpTool, type PoMcpPluginContext } from '@agimon-ai/po-core/mcpFacet';\n\nimport { bindMcpTool } from '../../../../../services/mcpTools';\n\nexport default defineMcpTool((context: PoMcpPluginContext) => bindMcpTool(context, 'record_debug_evidence'));\n","import { defineMcpTool, type PoMcpPluginContext } from '@agimon-ai/po-core/mcpFacet';\n\nimport { bindMcpTool } from '../../../../../services/mcpTools';\n\nexport default defineMcpTool((context: PoMcpPluginContext) => bindMcpTool(context, 'write_plan'));\n","// Generated by @agimon-ai/po-build. Do not edit by hand.\nimport { defineMcpPlugin, type PoMcpSessionPlugin } from '@agimon-ai/po-core/mcpFacet';\n\nimport skillPoUsePlan from '../src/extensions/workspaces/sessions/(backend)/skill/po-use-plan.mcp';\nimport toolCompletePlan from '../src/extensions/workspaces/sessions/(backend)/tool/complete_plan.mcp';\nimport toolRecordDebugEvidence from '../src/extensions/workspaces/sessions/(backend)/tool/record_debug_evidence.mcp';\nimport toolWritePlan from '../src/extensions/workspaces/sessions/(backend)/tool/write_plan.mcp';\n\ntype Factory<T, C> = (context: C) => T;\nconst at = <T, C>(value: T | Factory<T, C>, context: C): T =>\n typeof value === 'function' ? (value as Factory<T, C>)(context) : value;\nconst via = <T>(identity: Record<string, unknown>, value: unknown): T =>\n (value === undefined ? undefined : { ...identity, ...(value as object) }) as T;\n\nconst withWidget = <T>(key: string, value: T): T => value === undefined ? value : ({\n ...value, _meta: { ...(value as { _meta?: object })._meta, [\"po/widget\"]: key },\n});\n\nexport const mcp = defineMcpPlugin({\n name: '@agimon-ai/po-plan',\n session: (context) => ({\n get skills(): PoMcpSessionPlugin['skills'] { return [at(skillPoUsePlan, context)]; },\n get tools(): PoMcpSessionPlugin['tools'] { return [withWidget(\"@agimon-ai/po-plan/complete_plan\", via({ name: 'complete_plan' }, at(toolCompletePlan, context))), withWidget(\"@agimon-ai/po-plan/record_debug_evidence\", via({ name: 'record_debug_evidence' }, at(toolRecordDebugEvidence, context))), withWidget(\"@agimon-ai/po-plan/write_plan\", via({ name: 'write_plan' }, at(toolWritePlan, context)))]; },\n }) satisfies PoMcpSessionPlugin,\n});\n\nexport default mcp;\n"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
//#region generated/mcp.d.ts
|
|
2
|
-
export declare const mcp: import("@agimon-ai/po-core/mcpFacet").
|
|
2
|
+
export declare const mcp: import("@agimon-ai/po-core/mcpFacet").PoMcpPluginDefinition;
|
|
3
3
|
//#endregion
|
|
4
4
|
export { mcp as default };
|
|
5
5
|
//# sourceMappingURL=mcp.d.mts.map
|
package/dist/extensions/mcp.mjs
CHANGED
|
@@ -4,7 +4,7 @@ import { Type } from "typebox";
|
|
|
4
4
|
//#region src/extensions/workspaces/sessions/(backend)/skill/po-use-plan.mcp.ts
|
|
5
5
|
var po_use_plan_mcp_default = defineMcpSkill({
|
|
6
6
|
name: "po-use-plan",
|
|
7
|
-
description: "Use
|
|
7
|
+
description: "Use Po Pi Plan to draft reviewable normal, debug, or code review plans, persist them, and exit safely.",
|
|
8
8
|
read: () => readPackageResource(import.meta.url, "src/prompts/po-use-plan/SKILL.md")
|
|
9
9
|
});
|
|
10
10
|
//#endregion
|
|
@@ -14,7 +14,7 @@ const remoteWritePlanParameters = Type.Object({ markdown }, { additionalProperti
|
|
|
14
14
|
Type.Object({ markdown: Type.Optional(markdown) }, { additionalProperties: false });
|
|
15
15
|
//#endregion
|
|
16
16
|
//#region src/services/mcpTools/index.ts
|
|
17
|
-
const PLAN_MCP_TOOLS_SERVICE = "
|
|
17
|
+
const PLAN_MCP_TOOLS_SERVICE = "po/plan-mcp-tools";
|
|
18
18
|
const MODE_ID = "plan";
|
|
19
19
|
const MODE_LABEL = "Plan";
|
|
20
20
|
function bindMcpTool(context, name) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp.mjs","names":["skillPoUsePlan","toolCompletePlan","toolRecordDebugEvidence","toolWritePlan"],"sources":["../../src/extensions/workspaces/sessions/(backend)/skill/po-use-plan.mcp.ts","../../src/schemas/mcpTools.ts","../../src/services/mcpTools/index.ts","../../src/extensions/workspaces/sessions/(backend)/tool/complete_plan.mcp.ts","../../src/extensions/workspaces/sessions/(backend)/tool/record_debug_evidence.mcp.ts","../../src/extensions/workspaces/sessions/(backend)/tool/write_plan.mcp.ts","../../generated/mcp.ts"],"sourcesContent":["import { defineMcpSkill } from '@agimon-ai/po-core/mcpFacet';\nimport { readPackageResource } from '@agimon-ai/po-core/serverFacet';\n\nexport default defineMcpSkill({\n name: 'po-use-plan',\n description
|
|
1
|
+
{"version":3,"file":"mcp.mjs","names":["skillPoUsePlan","toolCompletePlan","toolRecordDebugEvidence","toolWritePlan"],"sources":["../../src/extensions/workspaces/sessions/(backend)/skill/po-use-plan.mcp.ts","../../src/schemas/mcpTools.ts","../../src/services/mcpTools/index.ts","../../src/extensions/workspaces/sessions/(backend)/tool/complete_plan.mcp.ts","../../src/extensions/workspaces/sessions/(backend)/tool/record_debug_evidence.mcp.ts","../../src/extensions/workspaces/sessions/(backend)/tool/write_plan.mcp.ts","../../generated/mcp.ts"],"sourcesContent":["import { defineMcpSkill } from '@agimon-ai/po-core/mcpFacet';\nimport { readPackageResource } from '@agimon-ai/po-core/serverFacet';\n\nexport default defineMcpSkill({\n name: 'po-use-plan',\n description: 'Use Po Pi Plan to draft reviewable normal, debug, or code review plans, persist them, and exit safely.',\n read: () => readPackageResource(import.meta.url, 'src/prompts/po-use-plan/SKILL.md'),\n});\n","import { Type } from 'typebox';\n\nconst markdown = Type.String({ minLength: 1 });\n\nexport const remoteWritePlanParameters = Type.Object({ markdown }, { additionalProperties: false });\nexport const writePlanParameters = Type.Object({ markdown: Type.Optional(markdown) }, { additionalProperties: false });\n","import type { PoHeadlessTool } from '@agimon-ai/po-core/headless';\nimport type { PoMcpPluginContext } from '@agimon-ai/po-core/mcpFacet';\nimport type { Context } from '@deepseek-ai/cordis';\n\nimport { remoteWritePlanParameters } from '../../schemas/mcpTools';\n\nexport const PLAN_MCP_TOOLS_SERVICE = 'po/plan-mcp-tools';\n\nconst MODE_ID = 'plan';\nconst MODE_LABEL = 'Plan';\n\nexport interface McpToolCatalog {\n get(name: string): PoHeadlessTool | undefined;\n names(): readonly string[];\n}\n\nexport function mountMcpTools(tools: readonly PoHeadlessTool[]) {\n return (context: Context): void => {\n context.plugin((providerContext) => {\n providerContext.provide(PLAN_MCP_TOOLS_SERVICE, {\n get: (name) => tools.find((tool) => tool.name === name),\n names: () => tools.map((tool) => tool.name),\n } satisfies McpToolCatalog);\n });\n };\n}\n\nexport function bindMcpTool(context: PoMcpPluginContext, name: string): PoHeadlessTool {\n const catalog = context.services.get<McpToolCatalog>(PLAN_MCP_TOOLS_SERVICE);\n const tool = catalog?.get(name);\n if (!tool || !catalog) throw new Error(`Plan tool is unavailable: ${name}`);\n const writesPlan = name === 'write_plan';\n return {\n ...tool,\n ...(writesPlan\n ? {\n description:\n 'Save the supplied Markdown plan in the bound session. Requires active Plan mode. Saving does not approve implementation.',\n parameters: remoteWritePlanParameters,\n annotations: { readOnlyHint: false, destructiveHint: false, openWorldHint: false },\n }\n : {}),\n execute(toolCallId, parameters, signal, onUpdate) {\n const activeModes = context.selection.read().state?.['minor-mode'] ?? [];\n if (!activeModes.includes(MODE_ID)) {\n const inactiveTools = [...catalog.names()].sort().join(', ');\n throw new Error(`${MODE_LABEL} minor mode is inactive. Inactive ${MODE_LABEL} tools: ${inactiveTools}.`);\n }\n if (\n writesPlan &&\n (typeof parameters !== 'object' ||\n parameters === null ||\n !('markdown' in parameters) ||\n typeof parameters.markdown !== 'string' ||\n !parameters.markdown.trim())\n ) {\n throw new Error(\n 'Supply the complete visible plan in the markdown argument. Remote calls cannot read the ChatGPT transcript.',\n );\n }\n const executionSignal = AbortSignal.any([context.signal, signal ?? context.signal]);\n return tool.execute(toolCallId, parameters, executionSignal, onUpdate, context.execution);\n },\n };\n}\n","import { defineMcpTool, type PoMcpPluginContext } from '@agimon-ai/po-core/mcpFacet';\n\nimport { bindMcpTool } from '../../../../../services/mcpTools';\n\nexport default defineMcpTool((context: PoMcpPluginContext) => bindMcpTool(context, 'complete_plan'));\n","import { defineMcpTool, type PoMcpPluginContext } from '@agimon-ai/po-core/mcpFacet';\n\nimport { bindMcpTool } from '../../../../../services/mcpTools';\n\nexport default defineMcpTool((context: PoMcpPluginContext) => bindMcpTool(context, 'record_debug_evidence'));\n","import { defineMcpTool, type PoMcpPluginContext } from '@agimon-ai/po-core/mcpFacet';\n\nimport { bindMcpTool } from '../../../../../services/mcpTools';\n\nexport default defineMcpTool((context: PoMcpPluginContext) => bindMcpTool(context, 'write_plan'));\n","// Generated by @agimon-ai/po-build. Do not edit by hand.\nimport { defineMcpPlugin, type PoMcpSessionPlugin } from '@agimon-ai/po-core/mcpFacet';\n\nimport skillPoUsePlan from '../src/extensions/workspaces/sessions/(backend)/skill/po-use-plan.mcp';\nimport toolCompletePlan from '../src/extensions/workspaces/sessions/(backend)/tool/complete_plan.mcp';\nimport toolRecordDebugEvidence from '../src/extensions/workspaces/sessions/(backend)/tool/record_debug_evidence.mcp';\nimport toolWritePlan from '../src/extensions/workspaces/sessions/(backend)/tool/write_plan.mcp';\n\ntype Factory<T, C> = (context: C) => T;\nconst at = <T, C>(value: T | Factory<T, C>, context: C): T =>\n typeof value === 'function' ? (value as Factory<T, C>)(context) : value;\nconst via = <T>(identity: Record<string, unknown>, value: unknown): T =>\n (value === undefined ? undefined : { ...identity, ...(value as object) }) as T;\n\nconst withWidget = <T>(key: string, value: T): T => value === undefined ? value : ({\n ...value, _meta: { ...(value as { _meta?: object })._meta, [\"po/widget\"]: key },\n});\n\nexport const mcp = defineMcpPlugin({\n name: '@agimon-ai/po-plan',\n session: (context) => ({\n get skills(): PoMcpSessionPlugin['skills'] { return [at(skillPoUsePlan, context)]; },\n get tools(): PoMcpSessionPlugin['tools'] { return [withWidget(\"@agimon-ai/po-plan/complete_plan\", via({ name: 'complete_plan' }, at(toolCompletePlan, context))), withWidget(\"@agimon-ai/po-plan/record_debug_evidence\", via({ name: 'record_debug_evidence' }, at(toolRecordDebugEvidence, context))), withWidget(\"@agimon-ai/po-plan/write_plan\", via({ name: 'write_plan' }, at(toolWritePlan, context)))]; },\n }) satisfies PoMcpSessionPlugin,\n});\n\nexport default mcp;\n"],"mappings":";;;;AAGA,IAAA,0BAAe,eAAe;CAC5B,MAAM;CACN,aAAa;CACb,YAAY,oBAAoB,YAAY,KAAK,kCAAkC;AACrF,CAAC;;;ACLD,MAAM,WAAW,KAAK,OAAO,EAAE,WAAW,EAAE,CAAC;AAE7C,MAAa,4BAA4B,KAAK,OAAO,EAAE,SAAS,GAAG,EAAE,sBAAsB,MAAM,CAAC;AAC/D,KAAK,OAAO,EAAE,UAAU,KAAK,SAAS,QAAQ,EAAE,GAAG,EAAE,sBAAsB,MAAM,CAAC;;;ACCrH,MAAa,yBAAyB;AAEtC,MAAM,UAAU;AAChB,MAAM,aAAa;AAkBnB,SAAgB,YAAY,SAA6B,MAA8B;CACrF,MAAM,UAAU,QAAQ,SAAS,IAAoB,sBAAsB;CAC3E,MAAM,OAAO,SAAS,IAAI,IAAI;CAC9B,IAAI,CAAC,QAAQ,CAAC,SAAS,MAAM,IAAI,MAAM,6BAA6B,MAAM;CAC1E,MAAM,aAAa,SAAS;CAC5B,OAAO;EACL,GAAG;EACH,GAAI,aACA;GACE,aACE;GACF,YAAY;GACZ,aAAa;IAAE,cAAc;IAAO,iBAAiB;IAAO,eAAe;GAAM;EACnF,IACA,CAAC;EACL,QAAQ,YAAY,YAAY,QAAQ,UAAU;GAEhD,IAAI,EADgB,QAAQ,UAAU,KAAK,CAAC,CAAC,QAAQ,iBAAiB,CAAC,EAAA,CACtD,SAAS,OAAO,GAAG;IAClC,MAAM,gBAAgB,CAAC,GAAG,QAAQ,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI;IAC3D,MAAM,IAAI,MAAM,GAAG,WAAW,oCAAoC,WAAW,UAAU,cAAc,EAAE;GACzG;GACA,IACE,eACC,OAAO,eAAe,YACrB,eAAe,QACf,EAAE,cAAc,eAChB,OAAO,WAAW,aAAa,YAC/B,CAAC,WAAW,SAAS,KAAK,IAE5B,MAAM,IAAI,MACR,6GACF;GAEF,MAAM,kBAAkB,YAAY,IAAI,CAAC,QAAQ,QAAQ,UAAU,QAAQ,MAAM,CAAC;GAClF,OAAO,KAAK,QAAQ,YAAY,YAAY,iBAAiB,UAAU,QAAQ,SAAS;EAC1F;CACF;AACF;;;AC5DA,IAAA,4BAAe,eAAe,YAAgC,YAAY,SAAS,eAAe,CAAC;;;ACAnG,IAAA,oCAAe,eAAe,YAAgC,YAAY,SAAS,uBAAuB,CAAC;;;ACA3G,IAAA,yBAAe,eAAe,YAAgC,YAAY,SAAS,YAAY,CAAC;;;ACKhG,MAAM,MAAY,OAA0B,YAC1C,OAAO,UAAU,aAAc,MAAwB,OAAO,IAAI;AACpE,MAAM,OAAU,UAAmC,UAChD,UAAU,KAAA,IAAY,KAAA,IAAY;CAAE,GAAG;CAAU,GAAI;AAAiB;AAEzE,MAAM,cAAiB,KAAa,UAAgB,UAAU,KAAA,IAAY,QAAS;CACjF,GAAG;CAAO,OAAO;EAAE,GAAI,MAA6B;GAAQ,cAAc;CAAI;AAChF;AAEA,MAAa,MAAM,gBAAgB;CACjC,MAAM;CACN,UAAU,aAAa;EACrB,IAAI,SAAuC;GAAE,OAAO,CAAC,GAAGA,yBAAgB,OAAO,CAAC;EAAG;EACnF,IAAI,QAAqC;GAAE,OAAO;IAAC,WAAW,oCAAoC,IAAI,EAAE,MAAM,gBAAgB,GAAG,GAAGC,2BAAkB,OAAO,CAAC,CAAC;IAAG,WAAW,4CAA4C,IAAI,EAAE,MAAM,wBAAwB,GAAG,GAAGC,mCAAyB,OAAO,CAAC,CAAC;IAAG,WAAW,iCAAiC,IAAI,EAAE,MAAM,aAAa,GAAG,GAAGC,wBAAe,OAAO,CAAC,CAAC;GAAC;EAAG;CACjZ;AACF,CAAC"}
|