@agimon-ai/po-config 0.0.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (170) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +170 -0
  3. package/dist/agentPluginMcp.cjs +322 -0
  4. package/dist/agentPluginMcp.cjs.map +1 -0
  5. package/dist/agentPluginMcp.d.mts +38 -0
  6. package/dist/agentPluginMcp.d.mts.map +1 -0
  7. package/dist/agentPluginMcp.mjs +318 -0
  8. package/dist/agentPluginMcp.mjs.map +1 -0
  9. package/dist/apiContracts.cjs +203 -0
  10. package/dist/apiContracts.cjs.map +1 -0
  11. package/dist/apiContracts.d.mts +53 -0
  12. package/dist/apiContracts.d.mts.map +1 -0
  13. package/dist/apiContracts.mjs +198 -0
  14. package/dist/apiContracts.mjs.map +1 -0
  15. package/dist/atomicJson-1W0WhuFF.mjs +44 -0
  16. package/dist/atomicJson-1W0WhuFF.mjs.map +1 -0
  17. package/dist/atomicJson-Dt2z_DXl.cjs +52 -0
  18. package/dist/atomicJson-Dt2z_DXl.cjs.map +1 -0
  19. package/dist/atomicJson.cjs +3 -0
  20. package/dist/atomicJson.d.mts +2 -0
  21. package/dist/atomicJson.mjs +2 -0
  22. package/dist/config-BUw5kHsx.cjs +219 -0
  23. package/dist/config-BUw5kHsx.cjs.map +1 -0
  24. package/dist/config-CKA07FxG.mjs +162 -0
  25. package/dist/config-CKA07FxG.mjs.map +1 -0
  26. package/dist/config-Cm3EV1jp.d.mts +320 -0
  27. package/dist/config-Cm3EV1jp.d.mts.map +1 -0
  28. package/dist/config-NSHRd6na.mjs +2 -0
  29. package/dist/config-zZz80Mh5.cjs +1 -0
  30. package/dist/config.cjs +24 -0
  31. package/dist/config.d.mts +3 -0
  32. package/dist/config.mjs +3 -0
  33. package/dist/configPolicy--TNX7feH.mjs +718 -0
  34. package/dist/configPolicy--TNX7feH.mjs.map +1 -0
  35. package/dist/configPolicy-DmsZEp0t.cjs +795 -0
  36. package/dist/configPolicy-DmsZEp0t.cjs.map +1 -0
  37. package/dist/configSchema.cjs +0 -0
  38. package/dist/configSchema.d.mts +2 -0
  39. package/dist/configSchema.mjs +1 -0
  40. package/dist/configWriter-BTuinLjs.cjs +150 -0
  41. package/dist/configWriter-BTuinLjs.cjs.map +1 -0
  42. package/dist/configWriter-BgkGaLrf.mjs +130 -0
  43. package/dist/configWriter-BgkGaLrf.mjs.map +1 -0
  44. package/dist/configWriter.cjs +5 -0
  45. package/dist/configWriter.d.mts +2 -0
  46. package/dist/configWriter.mjs +2 -0
  47. package/dist/domains-CBYkuxs5.cjs +727 -0
  48. package/dist/domains-CBYkuxs5.cjs.map +1 -0
  49. package/dist/domains-DZOu9vYM.mjs +633 -0
  50. package/dist/domains-DZOu9vYM.mjs.map +1 -0
  51. package/dist/domains.cjs +19 -0
  52. package/dist/domains.d.mts +3 -0
  53. package/dist/domains.mjs +3 -0
  54. package/dist/extensions/mcp-ui.mjs +101 -0
  55. package/dist/extensions/mcp-ui.mjs.map +1 -0
  56. package/dist/extensions/mcp.cjs +171 -0
  57. package/dist/extensions/mcp.cjs.map +1 -0
  58. package/dist/extensions/mcp.d.mts +5 -0
  59. package/dist/extensions/mcp.d.mts.map +1 -0
  60. package/dist/extensions/mcp.mjs +166 -0
  61. package/dist/extensions/mcp.mjs.map +1 -0
  62. package/dist/extensions/server.cjs +504 -0
  63. package/dist/extensions/server.cjs.map +1 -0
  64. package/dist/extensions/server.d.mts +5 -0
  65. package/dist/extensions/server.d.mts.map +1 -0
  66. package/dist/extensions/server.mjs +499 -0
  67. package/dist/extensions/server.mjs.map +1 -0
  68. package/dist/harnessState-CCyBeutB.cjs +188 -0
  69. package/dist/harnessState-CCyBeutB.cjs.map +1 -0
  70. package/dist/harnessState-Dn_S7fB9.mjs +163 -0
  71. package/dist/harnessState-Dn_S7fB9.mjs.map +1 -0
  72. package/dist/harnessState.cjs +6 -0
  73. package/dist/harnessState.d.mts +2 -0
  74. package/dist/harnessState.mjs +2 -0
  75. package/dist/harnessStore-CJSxdSkV.cjs +343 -0
  76. package/dist/harnessStore-CJSxdSkV.cjs.map +1 -0
  77. package/dist/harnessStore-CltwLB7M.mjs +262 -0
  78. package/dist/harnessStore-CltwLB7M.mjs.map +1 -0
  79. package/dist/harnessStore.cjs +15 -0
  80. package/dist/harnessStore.d.mts +2 -0
  81. package/dist/harnessStore.mjs +2 -0
  82. package/dist/index-BAaTySaM.d.mts +35 -0
  83. package/dist/index-BAaTySaM.d.mts.map +1 -0
  84. package/dist/index-BT29GZx5.d.mts +142 -0
  85. package/dist/index-BT29GZx5.d.mts.map +1 -0
  86. package/dist/index-B_lp0W3U.d.mts +114 -0
  87. package/dist/index-B_lp0W3U.d.mts.map +1 -0
  88. package/dist/index-C6GaYjq-.d.mts +6 -0
  89. package/dist/index-C6GaYjq-.d.mts.map +1 -0
  90. package/dist/index-CIQrKS1A.d.mts +50 -0
  91. package/dist/index-CIQrKS1A.d.mts.map +1 -0
  92. package/dist/index-CRcoVYXz.d.mts +39 -0
  93. package/dist/index-CRcoVYXz.d.mts.map +1 -0
  94. package/dist/index-CVlciCJF.d.mts +40 -0
  95. package/dist/index-CVlciCJF.d.mts.map +1 -0
  96. package/dist/index-CeOk2kqs.d.mts +118 -0
  97. package/dist/index-CeOk2kqs.d.mts.map +1 -0
  98. package/dist/index-Ch7ptOkW.d.mts +54 -0
  99. package/dist/index-Ch7ptOkW.d.mts.map +1 -0
  100. package/dist/index-Cvdt-Y-i.d.mts +66 -0
  101. package/dist/index-Cvdt-Y-i.d.mts.map +1 -0
  102. package/dist/index-DJpG-I9K.d.mts +122 -0
  103. package/dist/index-DJpG-I9K.d.mts.map +1 -0
  104. package/dist/index-DNk4q0Qm.d.mts +81 -0
  105. package/dist/index-DNk4q0Qm.d.mts.map +1 -0
  106. package/dist/index.cjs +121 -0
  107. package/dist/index.d.mts +15 -0
  108. package/dist/index.mjs +15 -0
  109. package/dist/init-C_9nyp3-.cjs +448 -0
  110. package/dist/init-C_9nyp3-.cjs.map +1 -0
  111. package/dist/init-DJ6wm-dr.mjs +415 -0
  112. package/dist/init-DJ6wm-dr.mjs.map +1 -0
  113. package/dist/init.cjs +7 -0
  114. package/dist/init.d.mts +2 -0
  115. package/dist/init.mjs +2 -0
  116. package/dist/layeredConfig-B922ibgn.mjs +67 -0
  117. package/dist/layeredConfig-B922ibgn.mjs.map +1 -0
  118. package/dist/layeredConfig-DdI5ysUf.cjs +94 -0
  119. package/dist/layeredConfig-DdI5ysUf.cjs.map +1 -0
  120. package/dist/layeredConfig.cjs +6 -0
  121. package/dist/layeredConfig.d.mts +2 -0
  122. package/dist/layeredConfig.mjs +2 -0
  123. package/dist/majorModes-CmPLEpMT.mjs +333 -0
  124. package/dist/majorModes-CmPLEpMT.mjs.map +1 -0
  125. package/dist/majorModes-DPhVMuhT.cjs +383 -0
  126. package/dist/majorModes-DPhVMuhT.cjs.map +1 -0
  127. package/dist/majorModes.cjs +10 -0
  128. package/dist/majorModes.d.mts +2 -0
  129. package/dist/majorModes.mjs +2 -0
  130. package/dist/piConfig-Bx26HMb_.d.mts +33 -0
  131. package/dist/piConfig-Bx26HMb_.d.mts.map +1 -0
  132. package/dist/piConfig-CCBdZXQr.cjs +260 -0
  133. package/dist/piConfig-CCBdZXQr.cjs.map +1 -0
  134. package/dist/piConfig-qGyCbcVj.mjs +197 -0
  135. package/dist/piConfig-qGyCbcVj.mjs.map +1 -0
  136. package/dist/piConfig.cjs +12 -0
  137. package/dist/piConfig.d.mts +2 -0
  138. package/dist/piConfig.mjs +2 -0
  139. package/dist/piContext.cjs +18 -0
  140. package/dist/piContext.d.mts +3 -0
  141. package/dist/piContext.mjs +2 -0
  142. package/dist/profiles-CTrUCmIh.d.mts +27 -0
  143. package/dist/profiles-CTrUCmIh.d.mts.map +1 -0
  144. package/dist/profiles-DnF9DBpd.cjs +552 -0
  145. package/dist/profiles-DnF9DBpd.cjs.map +1 -0
  146. package/dist/profiles-fujQKrS0.mjs +483 -0
  147. package/dist/profiles-fujQKrS0.mjs.map +1 -0
  148. package/dist/profiles.cjs +13 -0
  149. package/dist/profiles.d.mts +25 -0
  150. package/dist/profiles.d.mts.map +1 -0
  151. package/dist/profiles.mjs +2 -0
  152. package/dist/rolldown-runtime-VH7oDXx4.cjs +28 -0
  153. package/dist/selectionSwitch.cjs +70 -0
  154. package/dist/selectionSwitch.cjs.map +1 -0
  155. package/dist/selectionSwitch.d.mts +30 -0
  156. package/dist/selectionSwitch.d.mts.map +1 -0
  157. package/dist/selectionSwitch.mjs +64 -0
  158. package/dist/selectionSwitch.mjs.map +1 -0
  159. package/dist/sessionConfig-Boh4Fdje.cjs +342 -0
  160. package/dist/sessionConfig-Boh4Fdje.cjs.map +1 -0
  161. package/dist/sessionConfig-CtLoc-lO.mjs +240 -0
  162. package/dist/sessionConfig-CtLoc-lO.mjs.map +1 -0
  163. package/dist/types.cjs +9 -0
  164. package/dist/types.d.mts +2 -0
  165. package/dist/types.mjs +2 -0
  166. package/llms.txt +12 -0
  167. package/package.json +206 -0
  168. package/src/prompts/po-author-config/SKILL.md +26 -0
  169. package/src/prompts/po-author-config/agents/openai.yaml +4 -0
  170. package/src/prompts/po-author-config/references/config-contract.md +201 -0
@@ -0,0 +1,166 @@
1
+ import { defineMcpPlugin, defineMcpSkill, defineMcpTool } from "@agimon-ai/po-core/mcpFacet";
2
+ import { readPackageResource } from "@agimon-ai/po-core/serverFacet";
3
+ import { Type } from "typebox";
4
+ //#region src/extensions/workspaces/sessions/(backend)/skill/po-author-config.mcp.ts
5
+ var po_author_config_mcp_default = defineMcpSkill({
6
+ name: "po-author-config",
7
+ description: "Configure Po runtime settings, source precedence, and typed session configuration. Use for config.yaml, the doom/config Cordis service, immutable context snapshots, or shared selection transition state. Do not use for defining modes.yaml, domains.yaml, or profiles.yaml.",
8
+ read: () => readPackageResource(import.meta.url, "src/prompts/po-author-config/SKILL.md")
9
+ });
10
+ //#endregion
11
+ //#region src/schemas/mcpContextTools.ts
12
+ const loadContextParameters = Type.Object({}, { additionalProperties: false });
13
+ const renameThreadParameters = Type.Object({ title: Type.String({
14
+ minLength: 1,
15
+ maxLength: 256
16
+ }) }, { additionalProperties: false });
17
+ //#endregion
18
+ //#region src/schemas/mcpSessionView.ts
19
+ const sessionViewSchema = Type.Object({
20
+ sessionId: Type.String(),
21
+ revision: Type.Integer({ minimum: 0 }),
22
+ repositoryName: Type.String(),
23
+ profile: Type.Union([Type.String(), Type.Null()]),
24
+ majorMode: Type.String(),
25
+ domains: Type.Array(Type.String()),
26
+ layers: Type.Array(Type.String()),
27
+ minorModes: Type.Array(Type.String())
28
+ }, { additionalProperties: false });
29
+ //#endregion
30
+ //#region src/services/mcpContextTools/index.ts
31
+ function createLoadContextTool(context) {
32
+ return {
33
+ name: "load_context",
34
+ label: "Load context",
35
+ description: "Call at the beginning of a session, and after changing profile or modes, to load repository instructions and current session context.",
36
+ parameters: loadContextParameters,
37
+ annotations: {
38
+ readOnlyHint: true,
39
+ destructiveHint: false,
40
+ openWorldHint: false
41
+ },
42
+ async execute() {
43
+ const snapshot = context.loadContext();
44
+ return {
45
+ content: [{
46
+ type: "text",
47
+ text: JSON.stringify(snapshot)
48
+ }],
49
+ structuredContent: { ...snapshot }
50
+ };
51
+ }
52
+ };
53
+ }
54
+ function createRenameThreadTool(context) {
55
+ return {
56
+ name: "rename_thread",
57
+ label: "Rename thread",
58
+ description: "Rename the current Po conversation so its purpose is clear in the workspace session list.",
59
+ parameters: renameThreadParameters,
60
+ annotations: {
61
+ readOnlyHint: false,
62
+ destructiveHint: false,
63
+ openWorldHint: false
64
+ },
65
+ async execute(_toolCallId, { title }) {
66
+ const next = title.trim();
67
+ if (!next) throw new Error("Thread title cannot be empty.");
68
+ if (context.execution.session.setName === void 0) throw new Error("Session rename is unavailable.");
69
+ await context.execution.session.setName(next);
70
+ return { content: [{
71
+ type: "text",
72
+ text: `Renamed thread to "${next}".`
73
+ }] };
74
+ }
75
+ };
76
+ }
77
+ function createShowSessionTool(context) {
78
+ return {
79
+ name: "show_session",
80
+ label: "Show session",
81
+ description: "Show or refresh a read-only summary of the current Po session. Does not load repository instructions.",
82
+ parameters: loadContextParameters,
83
+ outputSchema: { ...sessionViewSchema },
84
+ annotations: {
85
+ readOnlyHint: true,
86
+ destructiveHint: false,
87
+ openWorldHint: false
88
+ },
89
+ _meta: {
90
+ ui: { visibility: ["model", "app"] },
91
+ "openai/toolInvocation/invoking": "Loading session",
92
+ "openai/toolInvocation/invoked": "Session ready"
93
+ },
94
+ async execute() {
95
+ const snapshot = context.loadContext();
96
+ const view = {
97
+ sessionId: snapshot.session.id,
98
+ revision: snapshot.session.revision,
99
+ repositoryName: snapshot.repository.root.replaceAll("\\", "/").split("/").filter(Boolean).at(-1) ?? "Repository",
100
+ profile: snapshot.selection.profile,
101
+ majorMode: snapshot.selection.majorMode,
102
+ domains: [...snapshot.selection.domains],
103
+ layers: [...snapshot.selection.activeLayers],
104
+ minorModes: [...snapshot.selection.minorModes ?? []]
105
+ };
106
+ return {
107
+ content: [{
108
+ type: "text",
109
+ text: [
110
+ `Po session: ${view.sessionId} (revision ${view.revision})`,
111
+ `Repository: ${view.repositoryName}`,
112
+ `Profile: ${view.profile ?? "Default"}`,
113
+ `Major mode: ${view.majorMode}`,
114
+ `Domains: ${view.domains.join(", ") || "None"}`,
115
+ `Layers: ${view.layers.join(", ") || "None"}`,
116
+ `Minor modes: ${view.minorModes.join(", ") || "None"}`
117
+ ].join("\n")
118
+ }],
119
+ structuredContent: { ...view },
120
+ _meta: { widgetType: "session" }
121
+ };
122
+ }
123
+ };
124
+ }
125
+ //#endregion
126
+ //#region src/extensions/workspaces/sessions/(backend)/tool/load_context.mcp.ts
127
+ var load_context_mcp_default = defineMcpTool((context) => createLoadContextTool(context));
128
+ //#endregion
129
+ //#region src/extensions/workspaces/sessions/(backend)/tool/rename_thread.mcp.ts
130
+ var rename_thread_mcp_default = defineMcpTool((context) => createRenameThreadTool(context));
131
+ //#endregion
132
+ //#region src/extensions/workspaces/sessions/(backend)/tool/show_session.mcp.ts
133
+ var show_session_mcp_default = defineMcpTool((context) => createShowSessionTool(context));
134
+ //#endregion
135
+ //#region generated/mcp.ts
136
+ const at = (value, context) => typeof value === "function" ? value(context) : value;
137
+ const via = (identity, value) => value === void 0 ? void 0 : {
138
+ ...identity,
139
+ ...value
140
+ };
141
+ const withWidget = (key, value) => value === void 0 ? value : {
142
+ ...value,
143
+ _meta: {
144
+ ...value._meta,
145
+ ["po/widget"]: key
146
+ }
147
+ };
148
+ const mcp = defineMcpPlugin({
149
+ name: "@agimon-ai/po-config",
150
+ session: (context) => ({
151
+ get skills() {
152
+ return [at(po_author_config_mcp_default, context)];
153
+ },
154
+ get tools() {
155
+ return [
156
+ withWidget("@agimon-ai/po-config/load_context", via({ name: "load_context" }, at(load_context_mcp_default, context))),
157
+ withWidget("@agimon-ai/po-config/rename_thread", via({ name: "rename_thread" }, at(rename_thread_mcp_default, context))),
158
+ withWidget("@agimon-ai/po-config/show_session", via({ name: "show_session" }, at(show_session_mcp_default, context)))
159
+ ];
160
+ }
161
+ })
162
+ });
163
+ //#endregion
164
+ export { mcp as default, mcp };
165
+
166
+ //# sourceMappingURL=mcp.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp.mjs","names":["skillPoAuthorConfig","toolLoadContext","toolRenameThread","toolShowSession"],"sources":["../../src/extensions/workspaces/sessions/(backend)/skill/po-author-config.mcp.ts","../../src/schemas/mcpContextTools.ts","../../src/schemas/mcpSessionView.ts","../../src/services/mcpContextTools/index.ts","../../src/extensions/workspaces/sessions/(backend)/tool/load_context.mcp.ts","../../src/extensions/workspaces/sessions/(backend)/tool/rename_thread.mcp.ts","../../src/extensions/workspaces/sessions/(backend)/tool/show_session.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-author-config',\n description:\n 'Configure Po runtime settings, source precedence, and typed session configuration. Use for config.yaml, the doom/config Cordis service, immutable context snapshots, or shared selection transition state. Do not use for defining modes.yaml, domains.yaml, or profiles.yaml.',\n read: () => readPackageResource(import.meta.url, 'src/prompts/po-author-config/SKILL.md'),\n});\n","import { Type } from 'typebox';\n\nexport const loadContextParameters = Type.Object({}, { additionalProperties: false });\nexport const renameThreadParameters = Type.Object(\n { title: Type.String({ minLength: 1, maxLength: 256 }) },\n { additionalProperties: false },\n);\n","import { Type } from 'typebox';\n\nexport const sessionViewSchema = Type.Object(\n {\n sessionId: Type.String(),\n revision: Type.Integer({ minimum: 0 }),\n repositoryName: Type.String(),\n profile: Type.Union([Type.String(), Type.Null()]),\n majorMode: Type.String(),\n domains: Type.Array(Type.String()),\n layers: Type.Array(Type.String()),\n minorModes: Type.Array(Type.String()),\n },\n { additionalProperties: false },\n);\n","import type { DoomHeadlessTool } from '@agimon-ai/po-core/headless';\nimport type { DoomMcpPluginContext } from '@agimon-ai/po-core/mcpFacet';\n\nimport { loadContextParameters, renameThreadParameters } from '../../schemas/mcpContextTools';\nimport { sessionViewSchema } from '../../schemas/mcpSessionView';\nimport type { SessionView } from '../../types/sessionView';\n\nexport function createLoadContextTool(context: DoomMcpPluginContext): DoomHeadlessTool<typeof loadContextParameters> {\n return {\n // web-plugin-tool-renderers: ignore load_context (remote MCP only)\n name: 'load_context',\n label: 'Load context',\n description:\n 'Call at the beginning of a session, and after changing profile or modes, to load repository instructions and current session context.',\n parameters: loadContextParameters,\n annotations: { readOnlyHint: true, destructiveHint: false, openWorldHint: false },\n async execute() {\n const snapshot = context.loadContext();\n return { content: [{ type: 'text', text: JSON.stringify(snapshot) }], structuredContent: { ...snapshot } };\n },\n };\n}\n\nexport function createRenameThreadTool(context: DoomMcpPluginContext): DoomHeadlessTool<typeof renameThreadParameters> {\n return {\n // web-plugin-tool-renderers: ignore rename_thread (remote MCP only)\n name: 'rename_thread',\n label: 'Rename thread',\n description: 'Rename the current Po conversation so its purpose is clear in the workspace session list.',\n parameters: renameThreadParameters,\n annotations: { readOnlyHint: false, destructiveHint: false, openWorldHint: false },\n async execute(_toolCallId, { title }) {\n const next = title.trim();\n if (!next) throw new Error('Thread title cannot be empty.');\n if (context.execution.session.setName === undefined) throw new Error('Session rename is unavailable.');\n await context.execution.session.setName(next);\n return { content: [{ type: 'text', text: `Renamed thread to \"${next}\".` }] };\n },\n };\n}\n\nexport function createShowSessionTool(context: DoomMcpPluginContext): DoomHeadlessTool<typeof loadContextParameters> {\n return {\n // web-plugin-tool-renderers: ignore show_session (remote MCP only)\n name: 'show_session',\n label: 'Show session',\n description:\n 'Show or refresh a read-only summary of the current Po session. Does not load repository instructions.',\n parameters: loadContextParameters,\n outputSchema: { ...sessionViewSchema },\n annotations: { readOnlyHint: true, destructiveHint: false, openWorldHint: false },\n _meta: {\n ui: { visibility: ['model', 'app'] },\n 'openai/toolInvocation/invoking': 'Loading session',\n 'openai/toolInvocation/invoked': 'Session ready',\n },\n async execute() {\n const snapshot = context.loadContext();\n const view: SessionView = {\n sessionId: snapshot.session.id,\n revision: snapshot.session.revision,\n repositoryName:\n snapshot.repository.root.replaceAll('\\\\', '/').split('/').filter(Boolean).at(-1) ?? 'Repository',\n profile: snapshot.selection.profile,\n majorMode: snapshot.selection.majorMode,\n domains: [...snapshot.selection.domains],\n layers: [...snapshot.selection.activeLayers],\n minorModes: [...(snapshot.selection.minorModes ?? [])],\n };\n const text = [\n `Po session: ${view.sessionId} (revision ${view.revision})`,\n `Repository: ${view.repositoryName}`,\n `Profile: ${view.profile ?? 'Default'}`,\n `Major mode: ${view.majorMode}`,\n `Domains: ${view.domains.join(', ') || 'None'}`,\n `Layers: ${view.layers.join(', ') || 'None'}`,\n `Minor modes: ${view.minorModes.join(', ') || 'None'}`,\n ].join('\\n');\n return { content: [{ type: 'text', text }], structuredContent: { ...view }, _meta: { widgetType: 'session' } };\n },\n };\n}\n","import { defineMcpTool, type DoomMcpPluginContext } from '@agimon-ai/po-core/mcpFacet';\n\nimport { createLoadContextTool } from '../../../../../services/mcpContextTools';\n\nexport default defineMcpTool((context: DoomMcpPluginContext) => createLoadContextTool(context));\n","import { defineMcpTool, type DoomMcpPluginContext } from '@agimon-ai/po-core/mcpFacet';\n\nimport { createRenameThreadTool } from '../../../../../services/mcpContextTools';\n\nexport default defineMcpTool((context: DoomMcpPluginContext) => createRenameThreadTool(context));\n","import { defineMcpTool, type DoomMcpPluginContext } from '@agimon-ai/po-core/mcpFacet';\n\nimport { createShowSessionTool } from '../../../../../services/mcpContextTools';\n\nexport default defineMcpTool((context: DoomMcpPluginContext) => createShowSessionTool(context));\n","// Generated by @agimon-ai/po-build. Do not edit by hand.\nimport { defineMcpPlugin, type DoomMcpSessionPlugin } from '@agimon-ai/po-core/mcpFacet';\n\nimport skillPoAuthorConfig from '../src/extensions/workspaces/sessions/(backend)/skill/po-author-config.mcp';\nimport toolLoadContext from '../src/extensions/workspaces/sessions/(backend)/tool/load_context.mcp';\nimport toolRenameThread from '../src/extensions/workspaces/sessions/(backend)/tool/rename_thread.mcp';\nimport toolShowSession from '../src/extensions/workspaces/sessions/(backend)/tool/show_session.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-config',\n session: (context) => ({\n get skills(): DoomMcpSessionPlugin['skills'] { return [at(skillPoAuthorConfig, context)]; },\n get tools(): DoomMcpSessionPlugin['tools'] { return [withWidget(\"@agimon-ai/po-config/load_context\", via({ name: 'load_context' }, at(toolLoadContext, context))), withWidget(\"@agimon-ai/po-config/rename_thread\", via({ name: 'rename_thread' }, at(toolRenameThread, context))), withWidget(\"@agimon-ai/po-config/show_session\", via({ name: 'show_session' }, at(toolShowSession, context)))]; },\n }) satisfies DoomMcpSessionPlugin,\n});\n\nexport default mcp;\n"],"mappings":"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"}