@agimon-ai/po-major-mode 0.0.0-alpha.2 → 0.0.0-alpha.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -39,7 +39,7 @@ set.
39
39
 
40
40
  ## Help guidance
41
41
 
42
- This package registers `po-author-major-mode` with the session-local `doom/help` Cordis
42
+ This package registers `po-author-major-mode` with the session-local `po/help` Cordis
43
43
  service. Registration is inert until `@agimon-ai/po-help` is active. Once active, the Help
44
44
  skill routes the AI through this package's validated [`llms.txt`](./llms.txt) index.
45
45
 
@@ -52,7 +52,7 @@ so the guidance is versioned with the parser and runtime that consume it.
52
52
  A major-mode change alters which extensions load, and Pi freezes the CLI `--extension` list at
53
53
  construction. So the disposition depends on how the session started:
54
54
 
55
- - **synchronized** (`dpi`, or regular `pi` after `po sync`): the session composes its own
55
+ - **synchronized** (`po`, or regular `pi` after `po sync`): the session composes its own
56
56
  extension set on every load, so the new layers arrive with a `pi-reload`. If the target
57
57
  composition has no synchronized bundle yet, the transition reports `sync-required` and asks for
58
58
  `po sync`.
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.cjs","names":["defineMcpSkill","readPackageResource","defineMcpPlugin","skillPoAuthorMajorMode"],"sources":["../../src/extensions/workspaces/sessions/(backend)/skill/po-author-major-mode.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-major-mode',\n description:\n \"Configure Po default packages, layers, extensions, hook groups, and named major modes. Use when creating or editing ~/.po/modes.yaml or a repository's .po/modes.yaml, choosing a default mode, or diagnosing which behavior a mode activates.\",\n read: () => readPackageResource(import.meta.url, 'src/prompts/po-author-major-mode/SKILL.md'),\n});\n","// Generated by @agimon-ai/po-build. Do not edit by hand.\nimport { defineMcpPlugin, type DoomMcpSessionPlugin } from '@agimon-ai/po-core/mcpFacet';\n\nimport skillPoAuthorMajorMode from '../src/extensions/workspaces/sessions/(backend)/skill/po-author-major-mode.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;\n\nexport const mcp = defineMcpPlugin({\n name: '@agimon-ai/po-major-mode',\n session: (context) => ({\n get skills(): DoomMcpSessionPlugin['skills'] { return [at(skillPoAuthorMajorMode, context)]; },\n }) satisfies DoomMcpSessionPlugin,\n});\n\nexport default mcp;\n"],"mappings":";;;;;;;AAGA,IAAA,oCAAA,GAAeA,4BAAAA,eAAAA,CAAe;CAC5B,MAAM;CACN,aACE;CACF,aAAA,GAAYC,+BAAAA,oBAAAA,CAAAA,QAAAA,KAAAA,CAAAA,CAAAA,cAAAA,UAAAA,CAAAA,CAAAA,MAAqC,2CAA2C;AAC9F,CAAC;;;ACFD,MAAM,MAAY,OAA0B,YAC1C,OAAO,UAAU,aAAc,MAAwB,OAAO,IAAI;AAEpE,MAAa,OAAA,GAAMC,4BAAAA,gBAAAA,CAAgB;CACjC,MAAM;CACN,UAAU,aAAa,EACrB,IAAI,SAAyC;EAAE,OAAO,CAAC,GAAGC,kCAAwB,OAAO,CAAC;CAAG,EAC/F;AACF,CAAC"}
1
+ {"version":3,"file":"mcp.cjs","names":["defineMcpSkill","readPackageResource","defineMcpPlugin","skillPoAuthorMajorMode"],"sources":["../../src/extensions/workspaces/sessions/(backend)/skill/po-author-major-mode.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-major-mode',\n description:\n \"Configure Po default packages, layers, extensions, hook groups, and named major modes. Use when creating or editing ~/.po/modes.yaml or a repository's .po/modes.yaml, choosing a default mode, or diagnosing which behavior a mode activates.\",\n read: () => readPackageResource(import.meta.url, 'src/prompts/po-author-major-mode/SKILL.md'),\n});\n","// Generated by @agimon-ai/po-build. Do not edit by hand.\nimport { defineMcpPlugin, type PoMcpSessionPlugin } from '@agimon-ai/po-core/mcpFacet';\n\nimport skillPoAuthorMajorMode from '../src/extensions/workspaces/sessions/(backend)/skill/po-author-major-mode.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;\n\nexport const mcp = defineMcpPlugin({\n name: '@agimon-ai/po-major-mode',\n session: (context) => ({\n get skills(): PoMcpSessionPlugin['skills'] { return [at(skillPoAuthorMajorMode, context)]; },\n }) satisfies PoMcpSessionPlugin,\n});\n\nexport default mcp;\n"],"mappings":";;;;;;;AAGA,IAAA,oCAAA,GAAeA,4BAAAA,eAAAA,CAAe;CAC5B,MAAM;CACN,aACE;CACF,aAAA,GAAYC,+BAAAA,oBAAAA,CAAAA,QAAAA,KAAAA,CAAAA,CAAAA,cAAAA,UAAAA,CAAAA,CAAAA,MAAqC,2CAA2C;AAC9F,CAAC;;;ACFD,MAAM,MAAY,OAA0B,YAC1C,OAAO,UAAU,aAAc,MAAwB,OAAO,IAAI;AAEpE,MAAa,OAAA,GAAMC,4BAAAA,gBAAAA,CAAgB;CACjC,MAAM;CACN,UAAU,aAAa,EACrB,IAAI,SAAuC;EAAE,OAAO,CAAC,GAAGC,kCAAwB,OAAO,CAAC;CAAG,EAC7F;AACF,CAAC"}
@@ -1,5 +1,5 @@
1
1
  //#region generated/mcp.d.ts
2
- export declare const mcp: import("@agimon-ai/po-core/mcpFacet").DoomMcpPluginDefinition;
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
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.mjs","names":["skillPoAuthorMajorMode"],"sources":["../../src/extensions/workspaces/sessions/(backend)/skill/po-author-major-mode.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-major-mode',\n description:\n \"Configure Po default packages, layers, extensions, hook groups, and named major modes. Use when creating or editing ~/.po/modes.yaml or a repository's .po/modes.yaml, choosing a default mode, or diagnosing which behavior a mode activates.\",\n read: () => readPackageResource(import.meta.url, 'src/prompts/po-author-major-mode/SKILL.md'),\n});\n","// Generated by @agimon-ai/po-build. Do not edit by hand.\nimport { defineMcpPlugin, type DoomMcpSessionPlugin } from '@agimon-ai/po-core/mcpFacet';\n\nimport skillPoAuthorMajorMode from '../src/extensions/workspaces/sessions/(backend)/skill/po-author-major-mode.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;\n\nexport const mcp = defineMcpPlugin({\n name: '@agimon-ai/po-major-mode',\n session: (context) => ({\n get skills(): DoomMcpSessionPlugin['skills'] { return [at(skillPoAuthorMajorMode, context)]; },\n }) satisfies DoomMcpSessionPlugin,\n});\n\nexport default mcp;\n"],"mappings":";;;AAGA,IAAA,mCAAe,eAAe;CAC5B,MAAM;CACN,aACE;CACF,YAAY,oBAAoB,YAAY,KAAK,2CAA2C;AAC9F,CAAC;;;ACFD,MAAM,MAAY,OAA0B,YAC1C,OAAO,UAAU,aAAc,MAAwB,OAAO,IAAI;AAEpE,MAAa,MAAM,gBAAgB;CACjC,MAAM;CACN,UAAU,aAAa,EACrB,IAAI,SAAyC;EAAE,OAAO,CAAC,GAAGA,kCAAwB,OAAO,CAAC;CAAG,EAC/F;AACF,CAAC"}
1
+ {"version":3,"file":"mcp.mjs","names":["skillPoAuthorMajorMode"],"sources":["../../src/extensions/workspaces/sessions/(backend)/skill/po-author-major-mode.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-major-mode',\n description:\n \"Configure Po default packages, layers, extensions, hook groups, and named major modes. Use when creating or editing ~/.po/modes.yaml or a repository's .po/modes.yaml, choosing a default mode, or diagnosing which behavior a mode activates.\",\n read: () => readPackageResource(import.meta.url, 'src/prompts/po-author-major-mode/SKILL.md'),\n});\n","// Generated by @agimon-ai/po-build. Do not edit by hand.\nimport { defineMcpPlugin, type PoMcpSessionPlugin } from '@agimon-ai/po-core/mcpFacet';\n\nimport skillPoAuthorMajorMode from '../src/extensions/workspaces/sessions/(backend)/skill/po-author-major-mode.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;\n\nexport const mcp = defineMcpPlugin({\n name: '@agimon-ai/po-major-mode',\n session: (context) => ({\n get skills(): PoMcpSessionPlugin['skills'] { return [at(skillPoAuthorMajorMode, context)]; },\n }) satisfies PoMcpSessionPlugin,\n});\n\nexport default mcp;\n"],"mappings":";;;AAGA,IAAA,mCAAe,eAAe;CAC5B,MAAM;CACN,aACE;CACF,YAAY,oBAAoB,YAAY,KAAK,2CAA2C;AAC9F,CAAC;;;ACFD,MAAM,MAAY,OAA0B,YAC1C,OAAO,UAAU,aAAc,MAAwB,OAAO,IAAI;AAEpE,MAAa,MAAM,gBAAgB;CACjC,MAAM;CACN,UAAU,aAAa,EACrB,IAAI,SAAuC;EAAE,OAAO,CAAC,GAAGA,kCAAwB,OAAO,CAAC;CAAG,EAC7F;AACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"server.cjs","names":["MAJOR_MODE_COMMAND","loadMajorModesConfig","majorModeOptionLabel","defineRoutedContribution","defineResource","packageResourcePath","readPackageResource","defineServerPlugin","commandMajorMode","resourcePoAuthorMajorMode"],"sources":["../../src/extensions/workspaces/sessions/(backend)/_lib/majorModeServerCommand.ts","../../src/extensions/workspaces/sessions/(backend)/command/majorMode.server.ts","../../src/extensions/workspaces/sessions/(backend)/resource/poAuthorMajorMode.server.ts","../../generated/server.ts"],"sourcesContent":["import { loadMajorModesConfig, resolveLayers } from '@agimon-ai/po-config/majorModes';\nimport { type DoomHeadlessCommand, type DoomHeadlessHostService } from '@agimon-ai/po-core/headless';\n\nimport { MAJOR_MODE_COMMAND, majorModeOptionLabel } from '../../../../../services/majorModeText';\n\nexport function createMajorModeServerCommand(host: DoomHeadlessHostService): DoomHeadlessCommand {\n return {\n name: MAJOR_MODE_COMMAND,\n description: 'Show or change the active Po major mode.',\n async execute(args, execution) {\n const config = loadMajorModesConfig(execution.repoRoot);\n let requested = args.trim();\n if (!requested) {\n const selected = await execution.client.request({\n kind: 'select',\n title: `Major mode (current: ${execution.selection.majorMode})`,\n options: Object.keys(config.majorMode).map((name) => ({\n label: majorModeOptionLabel(name, config.majorMode[name]?.layers ?? [], execution.selection.majorMode),\n value: name,\n })),\n });\n if (typeof selected !== 'string' || !selected) return;\n requested = selected;\n }\n // Reject invalid command input before requesting a capability transition.\n resolveLayers(config, requested);\n if (requested === execution.selection.majorMode) return;\n await host.changeSelection({ axis: 'majorMode', majorMode: requested });\n },\n };\n}\n","import { defineRoutedContribution } from '@agimon-ai/po-core/extensionFile';\nimport type { DoomServerPluginContext } from '@agimon-ai/po-core/serverFacet';\n\nimport { createMajorModeServerCommand } from '../_lib/majorModeServerCommand';\nexport default defineRoutedContribution(\n ({ agent }: DoomServerPluginContext) => (agent ? createMajorModeServerCommand(agent) : undefined),\n { cardinality: 'optional' },\n);\n","import { defineResource } from '@agimon-ai/po-core/extensionFile';\nimport { packageResourcePath, readPackageResource } from '@agimon-ai/po-core/serverFacet';\n\nexport default defineResource({\n name: 'po-author-major-mode',\n description:\n \"Configure Po default packages, layers, extensions, hook groups, and named major modes. Use when creating or editing ~/.po/modes.yaml or a repository's .po/modes.yaml, choosing a default mode, or diagnosing which behavior a mode activates.\",\n when: { state: { 'minor-mode': 'help' }, attribution: { kind: 'minor' as const, mode: 'help' } },\n kind: 'skill' as const,\n path: packageResourcePath(import.meta.url, 'src/prompts/po-author-major-mode/SKILL.md'),\n read: () => readPackageResource(import.meta.url, 'src/prompts/po-author-major-mode/SKILL.md'),\n});\n","// Generated by @agimon-ai/po-build. Do not edit by hand.\nimport { defineServerPlugin, type DoomServerSessionPlugin } from '@agimon-ai/po-core/serverFacet';\n\nimport commandMajorMode from '../src/extensions/workspaces/sessions/(backend)/command/majorMode.server';\nimport resourcePoAuthorMajorMode from '../src/extensions/workspaces/sessions/(backend)/resource/poAuthorMajorMode.server';\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;\n/* v8 ignore next -- generated normalization branch */\nconst defined = <T>(values: readonly (T | undefined)[]): T[] =>\n values.filter((value): value is T => value !== undefined);\nconst via = <T>(identity: Record<string, unknown>, value: unknown): T =>\n (value === undefined ? undefined : { ...identity, ...(value as object) }) as T;\n\nexport const facet = defineServerPlugin({\n name: '@agimon-ai/po-major-mode',\n session: (context) => ({\n get commands(): DoomServerSessionPlugin['commands'] { return defined([via({ name: 'major-mode' }, at(commandMajorMode, context))]); },\n get resources(): DoomServerSessionPlugin['resources'] { return [at(resourcePoAuthorMajorMode, context)]; },\n }),\n});\n\nexport default facet;\n"],"mappings":";;;;;;;;;AAKA,SAAgB,6BAA6B,MAAoD;CAC/F,OAAO;EACL,MAAMA,sBAAAA;EACN,aAAa;EACb,MAAM,QAAQ,MAAM,WAAW;GAC7B,MAAM,UAAA,GAASC,gCAAAA,qBAAAA,CAAqB,UAAU,QAAQ;GACtD,IAAI,YAAY,KAAK,KAAK;GAC1B,IAAI,CAAC,WAAW;IACd,MAAM,WAAW,MAAM,UAAU,OAAO,QAAQ;KAC9C,MAAM;KACN,OAAO,wBAAwB,UAAU,UAAU,UAAU;KAC7D,SAAS,OAAO,KAAK,OAAO,SAAS,CAAC,CAAC,KAAK,UAAU;MACpD,OAAOC,sBAAAA,qBAAqB,MAAM,OAAO,UAAU,KAAK,EAAE,UAAU,CAAC,GAAG,UAAU,UAAU,SAAS;MACrG,OAAO;KACT,EAAE;IACJ,CAAC;IACD,IAAI,OAAO,aAAa,YAAY,CAAC,UAAU;IAC/C,YAAY;GACd;GAEA,CAAA,GAAA,gCAAA,cAAA,CAAc,QAAQ,SAAS;GAC/B,IAAI,cAAc,UAAU,UAAU,WAAW;GACjD,MAAM,KAAK,gBAAgB;IAAE,MAAM;IAAa,WAAW;GAAU,CAAC;EACxE;CACF;AACF;;;AC1BA,IAAA,4BAAA,GAAeC,iCAAAA,yBAAAA,EACZ,EAAE,YAAsC,QAAQ,6BAA6B,KAAK,IAAI,KAAA,GACvF,EAAE,aAAa,WAAW,CAC5B;;;ACJA,IAAA,oCAAA,GAAeC,iCAAAA,eAAAA,CAAe;CAC5B,MAAM;CACN,aACE;CACF,MAAM;EAAE,OAAO,EAAE,cAAc,OAAO;EAAG,aAAa;GAAE,MAAM;GAAkB,MAAM;EAAO;CAAE;CAC/F,MAAM;CACN,OAAA,GAAMC,+BAAAA,oBAAAA,CAAAA,QAAAA,KAAAA,CAAAA,CAAAA,cAAAA,UAAAA,CAAAA,CAAAA,MAAqC,2CAA2C;CACtF,aAAA,GAAYC,+BAAAA,oBAAAA,CAAAA,QAAAA,KAAAA,CAAAA,CAAAA,cAAAA,UAAAA,CAAAA,CAAAA,MAAqC,2CAA2C;AAC9F,CAAC;;;ACJD,MAAM,MAAY,OAA0B,YAC1C,OAAO,UAAU,aAAc,MAAwB,OAAO,IAAI;;AAEpE,MAAM,WAAc,WAClB,OAAO,QAAQ,UAAsB,UAAU,KAAA,CAAS;AAC1D,MAAM,OAAU,UAAmC,UAChD,UAAU,KAAA,IAAY,KAAA,IAAY;CAAE,GAAG;CAAU,GAAI;AAAiB;AAEzE,MAAa,SAAA,GAAQC,+BAAAA,mBAAAA,CAAmB;CACtC,MAAM;CACN,UAAU,aAAa;EACrB,IAAI,WAAgD;GAAE,OAAO,QAAQ,CAAC,IAAI,EAAE,MAAM,aAAa,GAAG,GAAGC,0BAAkB,OAAO,CAAC,CAAC,CAAC;EAAG;EACpI,IAAI,YAAkD;GAAE,OAAO,CAAC,GAAGC,kCAA2B,OAAO,CAAC;EAAG;CAC3G;AACF,CAAC"}
1
+ {"version":3,"file":"server.cjs","names":["MAJOR_MODE_COMMAND","loadMajorModesConfig","majorModeOptionLabel","defineRoutedContribution","defineResource","packageResourcePath","readPackageResource","defineServerPlugin","commandMajorMode","resourcePoAuthorMajorMode"],"sources":["../../src/extensions/workspaces/sessions/(backend)/_lib/majorModeServerCommand.ts","../../src/extensions/workspaces/sessions/(backend)/command/majorMode.server.ts","../../src/extensions/workspaces/sessions/(backend)/resource/poAuthorMajorMode.server.ts","../../generated/server.ts"],"sourcesContent":["import { loadMajorModesConfig, resolveLayers } from '@agimon-ai/po-config/majorModes';\nimport { type PoHeadlessCommand, type PoHeadlessHostService } from '@agimon-ai/po-core/headless';\n\nimport { MAJOR_MODE_COMMAND, majorModeOptionLabel } from '../../../../../services/majorModeText';\n\nexport function createMajorModeServerCommand(host: PoHeadlessHostService): PoHeadlessCommand {\n return {\n name: MAJOR_MODE_COMMAND,\n description: 'Show or change the active Po major mode.',\n async execute(args, execution) {\n const config = loadMajorModesConfig(execution.repoRoot);\n let requested = args.trim();\n if (!requested) {\n const selected = await execution.client.request({\n kind: 'select',\n title: `Major mode (current: ${execution.selection.majorMode})`,\n options: Object.keys(config.majorMode).map((name) => ({\n label: majorModeOptionLabel(name, config.majorMode[name]?.layers ?? [], execution.selection.majorMode),\n value: name,\n })),\n });\n if (typeof selected !== 'string' || !selected) return;\n requested = selected;\n }\n // Reject invalid command input before requesting a capability transition.\n resolveLayers(config, requested);\n if (requested === execution.selection.majorMode) return;\n await host.changeSelection({ axis: 'majorMode', majorMode: requested });\n },\n };\n}\n","import { defineRoutedContribution } from '@agimon-ai/po-core/extensionFile';\nimport type { PoServerPluginContext } from '@agimon-ai/po-core/serverFacet';\n\nimport { createMajorModeServerCommand } from '../_lib/majorModeServerCommand';\nexport default defineRoutedContribution(\n ({ agent }: PoServerPluginContext) => (agent ? createMajorModeServerCommand(agent) : undefined),\n { cardinality: 'optional' },\n);\n","import { defineResource } from '@agimon-ai/po-core/extensionFile';\nimport { packageResourcePath, readPackageResource } from '@agimon-ai/po-core/serverFacet';\n\nexport default defineResource({\n name: 'po-author-major-mode',\n description:\n \"Configure Po default packages, layers, extensions, hook groups, and named major modes. Use when creating or editing ~/.po/modes.yaml or a repository's .po/modes.yaml, choosing a default mode, or diagnosing which behavior a mode activates.\",\n when: { state: { 'minor-mode': 'help' }, attribution: { kind: 'minor' as const, mode: 'help' } },\n kind: 'skill' as const,\n path: packageResourcePath(import.meta.url, 'src/prompts/po-author-major-mode/SKILL.md'),\n read: () => readPackageResource(import.meta.url, 'src/prompts/po-author-major-mode/SKILL.md'),\n});\n","// Generated by @agimon-ai/po-build. Do not edit by hand.\nimport { defineServerPlugin, type PoServerSessionPlugin } from '@agimon-ai/po-core/serverFacet';\n\nimport commandMajorMode from '../src/extensions/workspaces/sessions/(backend)/command/majorMode.server';\nimport resourcePoAuthorMajorMode from '../src/extensions/workspaces/sessions/(backend)/resource/poAuthorMajorMode.server';\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;\n/* v8 ignore next -- generated normalization branch */\nconst defined = <T>(values: readonly (T | undefined)[]): T[] =>\n values.filter((value): value is T => value !== undefined);\nconst via = <T>(identity: Record<string, unknown>, value: unknown): T =>\n (value === undefined ? undefined : { ...identity, ...(value as object) }) as T;\n\nexport const facet = defineServerPlugin({\n name: '@agimon-ai/po-major-mode',\n session: (context) => ({\n get commands(): PoServerSessionPlugin['commands'] { return defined([via({ name: 'major-mode' }, at(commandMajorMode, context))]); },\n get resources(): PoServerSessionPlugin['resources'] { return [at(resourcePoAuthorMajorMode, context)]; },\n }),\n});\n\nexport default facet;\n"],"mappings":";;;;;;;;;AAKA,SAAgB,6BAA6B,MAAgD;CAC3F,OAAO;EACL,MAAMA,sBAAAA;EACN,aAAa;EACb,MAAM,QAAQ,MAAM,WAAW;GAC7B,MAAM,UAAA,GAASC,gCAAAA,qBAAAA,CAAqB,UAAU,QAAQ;GACtD,IAAI,YAAY,KAAK,KAAK;GAC1B,IAAI,CAAC,WAAW;IACd,MAAM,WAAW,MAAM,UAAU,OAAO,QAAQ;KAC9C,MAAM;KACN,OAAO,wBAAwB,UAAU,UAAU,UAAU;KAC7D,SAAS,OAAO,KAAK,OAAO,SAAS,CAAC,CAAC,KAAK,UAAU;MACpD,OAAOC,sBAAAA,qBAAqB,MAAM,OAAO,UAAU,KAAK,EAAE,UAAU,CAAC,GAAG,UAAU,UAAU,SAAS;MACrG,OAAO;KACT,EAAE;IACJ,CAAC;IACD,IAAI,OAAO,aAAa,YAAY,CAAC,UAAU;IAC/C,YAAY;GACd;GAEA,CAAA,GAAA,gCAAA,cAAA,CAAc,QAAQ,SAAS;GAC/B,IAAI,cAAc,UAAU,UAAU,WAAW;GACjD,MAAM,KAAK,gBAAgB;IAAE,MAAM;IAAa,WAAW;GAAU,CAAC;EACxE;CACF;AACF;;;AC1BA,IAAA,4BAAA,GAAeC,iCAAAA,yBAAAA,EACZ,EAAE,YAAoC,QAAQ,6BAA6B,KAAK,IAAI,KAAA,GACrF,EAAE,aAAa,WAAW,CAC5B;;;ACJA,IAAA,oCAAA,GAAeC,iCAAAA,eAAAA,CAAe;CAC5B,MAAM;CACN,aACE;CACF,MAAM;EAAE,OAAO,EAAE,cAAc,OAAO;EAAG,aAAa;GAAE,MAAM;GAAkB,MAAM;EAAO;CAAE;CAC/F,MAAM;CACN,OAAA,GAAMC,+BAAAA,oBAAAA,CAAAA,QAAAA,KAAAA,CAAAA,CAAAA,cAAAA,UAAAA,CAAAA,CAAAA,MAAqC,2CAA2C;CACtF,aAAA,GAAYC,+BAAAA,oBAAAA,CAAAA,QAAAA,KAAAA,CAAAA,CAAAA,cAAAA,UAAAA,CAAAA,CAAAA,MAAqC,2CAA2C;AAC9F,CAAC;;;ACJD,MAAM,MAAY,OAA0B,YAC1C,OAAO,UAAU,aAAc,MAAwB,OAAO,IAAI;;AAEpE,MAAM,WAAc,WAClB,OAAO,QAAQ,UAAsB,UAAU,KAAA,CAAS;AAC1D,MAAM,OAAU,UAAmC,UAChD,UAAU,KAAA,IAAY,KAAA,IAAY;CAAE,GAAG;CAAU,GAAI;AAAiB;AAEzE,MAAa,SAAA,GAAQC,+BAAAA,mBAAAA,CAAmB;CACtC,MAAM;CACN,UAAU,aAAa;EACrB,IAAI,WAA8C;GAAE,OAAO,QAAQ,CAAC,IAAI,EAAE,MAAM,aAAa,GAAG,GAAGC,0BAAkB,OAAO,CAAC,CAAC,CAAC;EAAG;EAClI,IAAI,YAAgD;GAAE,OAAO,CAAC,GAAGC,kCAA2B,OAAO,CAAC;EAAG;CACzG;AACF,CAAC"}
@@ -1,5 +1,5 @@
1
1
  //#region generated/server.d.ts
2
- export declare const facet: import("@agimon-ai/po-core/serverFacet").DoomServerFacet;
2
+ export declare const facet: import("@agimon-ai/po-core/serverFacet").PoServerFacet;
3
3
  //#endregion
4
4
  export { facet as default };
5
5
  //# sourceMappingURL=server.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.mjs","names":["commandMajorMode","resourcePoAuthorMajorMode"],"sources":["../../src/extensions/workspaces/sessions/(backend)/_lib/majorModeServerCommand.ts","../../src/extensions/workspaces/sessions/(backend)/command/majorMode.server.ts","../../src/extensions/workspaces/sessions/(backend)/resource/poAuthorMajorMode.server.ts","../../generated/server.ts"],"sourcesContent":["import { loadMajorModesConfig, resolveLayers } from '@agimon-ai/po-config/majorModes';\nimport { type DoomHeadlessCommand, type DoomHeadlessHostService } from '@agimon-ai/po-core/headless';\n\nimport { MAJOR_MODE_COMMAND, majorModeOptionLabel } from '../../../../../services/majorModeText';\n\nexport function createMajorModeServerCommand(host: DoomHeadlessHostService): DoomHeadlessCommand {\n return {\n name: MAJOR_MODE_COMMAND,\n description: 'Show or change the active Po major mode.',\n async execute(args, execution) {\n const config = loadMajorModesConfig(execution.repoRoot);\n let requested = args.trim();\n if (!requested) {\n const selected = await execution.client.request({\n kind: 'select',\n title: `Major mode (current: ${execution.selection.majorMode})`,\n options: Object.keys(config.majorMode).map((name) => ({\n label: majorModeOptionLabel(name, config.majorMode[name]?.layers ?? [], execution.selection.majorMode),\n value: name,\n })),\n });\n if (typeof selected !== 'string' || !selected) return;\n requested = selected;\n }\n // Reject invalid command input before requesting a capability transition.\n resolveLayers(config, requested);\n if (requested === execution.selection.majorMode) return;\n await host.changeSelection({ axis: 'majorMode', majorMode: requested });\n },\n };\n}\n","import { defineRoutedContribution } from '@agimon-ai/po-core/extensionFile';\nimport type { DoomServerPluginContext } from '@agimon-ai/po-core/serverFacet';\n\nimport { createMajorModeServerCommand } from '../_lib/majorModeServerCommand';\nexport default defineRoutedContribution(\n ({ agent }: DoomServerPluginContext) => (agent ? createMajorModeServerCommand(agent) : undefined),\n { cardinality: 'optional' },\n);\n","import { defineResource } from '@agimon-ai/po-core/extensionFile';\nimport { packageResourcePath, readPackageResource } from '@agimon-ai/po-core/serverFacet';\n\nexport default defineResource({\n name: 'po-author-major-mode',\n description:\n \"Configure Po default packages, layers, extensions, hook groups, and named major modes. Use when creating or editing ~/.po/modes.yaml or a repository's .po/modes.yaml, choosing a default mode, or diagnosing which behavior a mode activates.\",\n when: { state: { 'minor-mode': 'help' }, attribution: { kind: 'minor' as const, mode: 'help' } },\n kind: 'skill' as const,\n path: packageResourcePath(import.meta.url, 'src/prompts/po-author-major-mode/SKILL.md'),\n read: () => readPackageResource(import.meta.url, 'src/prompts/po-author-major-mode/SKILL.md'),\n});\n","// Generated by @agimon-ai/po-build. Do not edit by hand.\nimport { defineServerPlugin, type DoomServerSessionPlugin } from '@agimon-ai/po-core/serverFacet';\n\nimport commandMajorMode from '../src/extensions/workspaces/sessions/(backend)/command/majorMode.server';\nimport resourcePoAuthorMajorMode from '../src/extensions/workspaces/sessions/(backend)/resource/poAuthorMajorMode.server';\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;\n/* v8 ignore next -- generated normalization branch */\nconst defined = <T>(values: readonly (T | undefined)[]): T[] =>\n values.filter((value): value is T => value !== undefined);\nconst via = <T>(identity: Record<string, unknown>, value: unknown): T =>\n (value === undefined ? undefined : { ...identity, ...(value as object) }) as T;\n\nexport const facet = defineServerPlugin({\n name: '@agimon-ai/po-major-mode',\n session: (context) => ({\n get commands(): DoomServerSessionPlugin['commands'] { return defined([via({ name: 'major-mode' }, at(commandMajorMode, context))]); },\n get resources(): DoomServerSessionPlugin['resources'] { return [at(resourcePoAuthorMajorMode, context)]; },\n }),\n});\n\nexport default facet;\n"],"mappings":";;;;;AAKA,SAAgB,6BAA6B,MAAoD;CAC/F,OAAO;EACL,MAAM;EACN,aAAa;EACb,MAAM,QAAQ,MAAM,WAAW;GAC7B,MAAM,SAAS,qBAAqB,UAAU,QAAQ;GACtD,IAAI,YAAY,KAAK,KAAK;GAC1B,IAAI,CAAC,WAAW;IACd,MAAM,WAAW,MAAM,UAAU,OAAO,QAAQ;KAC9C,MAAM;KACN,OAAO,wBAAwB,UAAU,UAAU,UAAU;KAC7D,SAAS,OAAO,KAAK,OAAO,SAAS,CAAC,CAAC,KAAK,UAAU;MACpD,OAAO,qBAAqB,MAAM,OAAO,UAAU,KAAK,EAAE,UAAU,CAAC,GAAG,UAAU,UAAU,SAAS;MACrG,OAAO;KACT,EAAE;IACJ,CAAC;IACD,IAAI,OAAO,aAAa,YAAY,CAAC,UAAU;IAC/C,YAAY;GACd;GAEA,cAAc,QAAQ,SAAS;GAC/B,IAAI,cAAc,UAAU,UAAU,WAAW;GACjD,MAAM,KAAK,gBAAgB;IAAE,MAAM;IAAa,WAAW;GAAU,CAAC;EACxE;CACF;AACF;;;AC1BA,IAAA,2BAAe,0BACZ,EAAE,YAAsC,QAAQ,6BAA6B,KAAK,IAAI,KAAA,GACvF,EAAE,aAAa,WAAW,CAC5B;;;ACJA,IAAA,mCAAe,eAAe;CAC5B,MAAM;CACN,aACE;CACF,MAAM;EAAE,OAAO,EAAE,cAAc,OAAO;EAAG,aAAa;GAAE,MAAM;GAAkB,MAAM;EAAO;CAAE;CAC/F,MAAM;CACN,MAAM,oBAAoB,YAAY,KAAK,2CAA2C;CACtF,YAAY,oBAAoB,YAAY,KAAK,2CAA2C;AAC9F,CAAC;;;ACJD,MAAM,MAAY,OAA0B,YAC1C,OAAO,UAAU,aAAc,MAAwB,OAAO,IAAI;;AAEpE,MAAM,WAAc,WAClB,OAAO,QAAQ,UAAsB,UAAU,KAAA,CAAS;AAC1D,MAAM,OAAU,UAAmC,UAChD,UAAU,KAAA,IAAY,KAAA,IAAY;CAAE,GAAG;CAAU,GAAI;AAAiB;AAEzE,MAAa,QAAQ,mBAAmB;CACtC,MAAM;CACN,UAAU,aAAa;EACrB,IAAI,WAAgD;GAAE,OAAO,QAAQ,CAAC,IAAI,EAAE,MAAM,aAAa,GAAG,GAAGA,0BAAkB,OAAO,CAAC,CAAC,CAAC;EAAG;EACpI,IAAI,YAAkD;GAAE,OAAO,CAAC,GAAGC,kCAA2B,OAAO,CAAC;EAAG;CAC3G;AACF,CAAC"}
1
+ {"version":3,"file":"server.mjs","names":["commandMajorMode","resourcePoAuthorMajorMode"],"sources":["../../src/extensions/workspaces/sessions/(backend)/_lib/majorModeServerCommand.ts","../../src/extensions/workspaces/sessions/(backend)/command/majorMode.server.ts","../../src/extensions/workspaces/sessions/(backend)/resource/poAuthorMajorMode.server.ts","../../generated/server.ts"],"sourcesContent":["import { loadMajorModesConfig, resolveLayers } from '@agimon-ai/po-config/majorModes';\nimport { type PoHeadlessCommand, type PoHeadlessHostService } from '@agimon-ai/po-core/headless';\n\nimport { MAJOR_MODE_COMMAND, majorModeOptionLabel } from '../../../../../services/majorModeText';\n\nexport function createMajorModeServerCommand(host: PoHeadlessHostService): PoHeadlessCommand {\n return {\n name: MAJOR_MODE_COMMAND,\n description: 'Show or change the active Po major mode.',\n async execute(args, execution) {\n const config = loadMajorModesConfig(execution.repoRoot);\n let requested = args.trim();\n if (!requested) {\n const selected = await execution.client.request({\n kind: 'select',\n title: `Major mode (current: ${execution.selection.majorMode})`,\n options: Object.keys(config.majorMode).map((name) => ({\n label: majorModeOptionLabel(name, config.majorMode[name]?.layers ?? [], execution.selection.majorMode),\n value: name,\n })),\n });\n if (typeof selected !== 'string' || !selected) return;\n requested = selected;\n }\n // Reject invalid command input before requesting a capability transition.\n resolveLayers(config, requested);\n if (requested === execution.selection.majorMode) return;\n await host.changeSelection({ axis: 'majorMode', majorMode: requested });\n },\n };\n}\n","import { defineRoutedContribution } from '@agimon-ai/po-core/extensionFile';\nimport type { PoServerPluginContext } from '@agimon-ai/po-core/serverFacet';\n\nimport { createMajorModeServerCommand } from '../_lib/majorModeServerCommand';\nexport default defineRoutedContribution(\n ({ agent }: PoServerPluginContext) => (agent ? createMajorModeServerCommand(agent) : undefined),\n { cardinality: 'optional' },\n);\n","import { defineResource } from '@agimon-ai/po-core/extensionFile';\nimport { packageResourcePath, readPackageResource } from '@agimon-ai/po-core/serverFacet';\n\nexport default defineResource({\n name: 'po-author-major-mode',\n description:\n \"Configure Po default packages, layers, extensions, hook groups, and named major modes. Use when creating or editing ~/.po/modes.yaml or a repository's .po/modes.yaml, choosing a default mode, or diagnosing which behavior a mode activates.\",\n when: { state: { 'minor-mode': 'help' }, attribution: { kind: 'minor' as const, mode: 'help' } },\n kind: 'skill' as const,\n path: packageResourcePath(import.meta.url, 'src/prompts/po-author-major-mode/SKILL.md'),\n read: () => readPackageResource(import.meta.url, 'src/prompts/po-author-major-mode/SKILL.md'),\n});\n","// Generated by @agimon-ai/po-build. Do not edit by hand.\nimport { defineServerPlugin, type PoServerSessionPlugin } from '@agimon-ai/po-core/serverFacet';\n\nimport commandMajorMode from '../src/extensions/workspaces/sessions/(backend)/command/majorMode.server';\nimport resourcePoAuthorMajorMode from '../src/extensions/workspaces/sessions/(backend)/resource/poAuthorMajorMode.server';\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;\n/* v8 ignore next -- generated normalization branch */\nconst defined = <T>(values: readonly (T | undefined)[]): T[] =>\n values.filter((value): value is T => value !== undefined);\nconst via = <T>(identity: Record<string, unknown>, value: unknown): T =>\n (value === undefined ? undefined : { ...identity, ...(value as object) }) as T;\n\nexport const facet = defineServerPlugin({\n name: '@agimon-ai/po-major-mode',\n session: (context) => ({\n get commands(): PoServerSessionPlugin['commands'] { return defined([via({ name: 'major-mode' }, at(commandMajorMode, context))]); },\n get resources(): PoServerSessionPlugin['resources'] { return [at(resourcePoAuthorMajorMode, context)]; },\n }),\n});\n\nexport default facet;\n"],"mappings":";;;;;AAKA,SAAgB,6BAA6B,MAAgD;CAC3F,OAAO;EACL,MAAM;EACN,aAAa;EACb,MAAM,QAAQ,MAAM,WAAW;GAC7B,MAAM,SAAS,qBAAqB,UAAU,QAAQ;GACtD,IAAI,YAAY,KAAK,KAAK;GAC1B,IAAI,CAAC,WAAW;IACd,MAAM,WAAW,MAAM,UAAU,OAAO,QAAQ;KAC9C,MAAM;KACN,OAAO,wBAAwB,UAAU,UAAU,UAAU;KAC7D,SAAS,OAAO,KAAK,OAAO,SAAS,CAAC,CAAC,KAAK,UAAU;MACpD,OAAO,qBAAqB,MAAM,OAAO,UAAU,KAAK,EAAE,UAAU,CAAC,GAAG,UAAU,UAAU,SAAS;MACrG,OAAO;KACT,EAAE;IACJ,CAAC;IACD,IAAI,OAAO,aAAa,YAAY,CAAC,UAAU;IAC/C,YAAY;GACd;GAEA,cAAc,QAAQ,SAAS;GAC/B,IAAI,cAAc,UAAU,UAAU,WAAW;GACjD,MAAM,KAAK,gBAAgB;IAAE,MAAM;IAAa,WAAW;GAAU,CAAC;EACxE;CACF;AACF;;;AC1BA,IAAA,2BAAe,0BACZ,EAAE,YAAoC,QAAQ,6BAA6B,KAAK,IAAI,KAAA,GACrF,EAAE,aAAa,WAAW,CAC5B;;;ACJA,IAAA,mCAAe,eAAe;CAC5B,MAAM;CACN,aACE;CACF,MAAM;EAAE,OAAO,EAAE,cAAc,OAAO;EAAG,aAAa;GAAE,MAAM;GAAkB,MAAM;EAAO;CAAE;CAC/F,MAAM;CACN,MAAM,oBAAoB,YAAY,KAAK,2CAA2C;CACtF,YAAY,oBAAoB,YAAY,KAAK,2CAA2C;AAC9F,CAAC;;;ACJD,MAAM,MAAY,OAA0B,YAC1C,OAAO,UAAU,aAAc,MAAwB,OAAO,IAAI;;AAEpE,MAAM,WAAc,WAClB,OAAO,QAAQ,UAAsB,UAAU,KAAA,CAAS;AAC1D,MAAM,OAAU,UAAmC,UAChD,UAAU,KAAA,IAAY,KAAA,IAAY;CAAE,GAAG;CAAU,GAAI;AAAiB;AAEzE,MAAa,QAAQ,mBAAmB;CACtC,MAAM;CACN,UAAU,aAAa;EACrB,IAAI,WAA8C;GAAE,OAAO,QAAQ,CAAC,IAAI,EAAE,MAAM,aAAa,GAAG,GAAGA,0BAAkB,OAAO,CAAC,CAAC,CAAC;EAAG;EAClI,IAAI,YAAgD;GAAE,OAAO,CAAC,GAAGC,kCAA2B,OAAO,CAAC;EAAG;CACzG;AACF,CAAC"}
package/dist/index.cjs CHANGED
@@ -1,7 +1,7 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_majorModeText = require("./majorModeText-DCFGufYS.cjs");
3
3
  //#region src/services/statusLine/index.ts
4
- const STATUS_KEY = "doom-major-mode";
4
+ const STATUS_KEY = "po-major-mode";
5
5
  /** Compact footer text for the selected major mode, domains, and profile. */
6
6
  function statusText(majorMode, domains, profile) {
7
7
  return [
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","names":[],"sources":["../src/services/statusLine/index.ts","../src/types/majorMode.ts"],"sourcesContent":["export const STATUS_KEY = 'doom-major-mode';\n\n/** Compact footer text for the selected major mode, domains, and profile. */\nexport function statusText(majorMode: string, domains: readonly string[], profile?: string): string {\n return [profile ? `*${profile}*` : undefined, `[${majorMode}]`, domains.join(',')]\n .filter((part) => Boolean(part))\n .join(':');\n}\n","import type { MajorModesConfig } from '@agimon-ai/po-config/majorModes';\n\n/** The npm name this package registers its voice tool and contributions under. */\nexport const MAJOR_MODE_SOURCE = '@agimon-ai/po-major-mode';\n\n/** The selection as both the command and the voice tool need to see it. */\nexport interface MajorModeView {\n config: MajorModesConfig;\n majorMode: string;\n domains: readonly string[];\n profile?: string;\n}\n"],"mappings":";;;AAAA,MAAa,aAAa;;AAG1B,SAAgB,WAAW,WAAmB,SAA4B,SAA0B;CAClG,OAAO;EAAC,UAAU,IAAI,QAAQ,KAAK,KAAA;EAAW,IAAI,UAAU;EAAI,QAAQ,KAAK,GAAG;CAAC,CAAC,CAC/E,QAAQ,SAAS,QAAQ,IAAI,CAAC,CAAC,CAC/B,KAAK,GAAG;AACb;;;;ACJA,MAAa,oBAAoB"}
1
+ {"version":3,"file":"index.cjs","names":[],"sources":["../src/services/statusLine/index.ts","../src/types/majorMode.ts"],"sourcesContent":["export const STATUS_KEY = 'po-major-mode';\n\n/** Compact footer text for the selected major mode, domains, and profile. */\nexport function statusText(majorMode: string, domains: readonly string[], profile?: string): string {\n return [profile ? `*${profile}*` : undefined, `[${majorMode}]`, domains.join(',')]\n .filter((part) => Boolean(part))\n .join(':');\n}\n","import type { MajorModesConfig } from '@agimon-ai/po-config/majorModes';\n\n/** The npm name this package registers its voice tool and contributions under. */\nexport const MAJOR_MODE_SOURCE = '@agimon-ai/po-major-mode';\n\n/** The selection as both the command and the voice tool need to see it. */\nexport interface MajorModeView {\n config: MajorModesConfig;\n majorMode: string;\n domains: readonly string[];\n profile?: string;\n}\n"],"mappings":";;;AAAA,MAAa,aAAa;;AAG1B,SAAgB,WAAW,WAAmB,SAA4B,SAA0B;CAClG,OAAO;EAAC,UAAU,IAAI,QAAQ,KAAK,KAAA;EAAW,IAAI,UAAU;EAAI,QAAQ,KAAK,GAAG;CAAC,CAAC,CAC/E,QAAQ,SAAS,QAAQ,IAAI,CAAC,CAAC,CAC/B,KAAK,GAAG;AACb;;;;ACJA,MAAa,oBAAoB"}
package/dist/index.d.mts CHANGED
@@ -23,7 +23,7 @@ export declare function applySummary(picked: string, layers: string[], stale: bo
23
23
  export declare function majorModeSummary(picked: string, layers: string[], current: string, composed?: boolean): string;
24
24
  //#endregion
25
25
  //#region src/services/statusLine/index.d.ts
26
- export declare const STATUS_KEY = "doom-major-mode";
26
+ export declare const STATUS_KEY = "po-major-mode";
27
27
  /** Compact footer text for the selected major mode, domains, and profile. */
28
28
  export declare function statusText(majorMode: string, domains: readonly string[], profile?: string): string;
29
29
  //#endregion
package/dist/index.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  import { a as majorModeSummary, i as majorModeOptionLabel, n as applySummary, o as optionName, r as majorModeItems, t as MAJOR_MODE_COMMAND } from "./majorModeText-DuWMOhxX.mjs";
2
2
  //#region src/services/statusLine/index.ts
3
- const STATUS_KEY = "doom-major-mode";
3
+ const STATUS_KEY = "po-major-mode";
4
4
  /** Compact footer text for the selected major mode, domains, and profile. */
5
5
  function statusText(majorMode, domains, profile) {
6
6
  return [
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":[],"sources":["../src/services/statusLine/index.ts","../src/types/majorMode.ts"],"sourcesContent":["export const STATUS_KEY = 'doom-major-mode';\n\n/** Compact footer text for the selected major mode, domains, and profile. */\nexport function statusText(majorMode: string, domains: readonly string[], profile?: string): string {\n return [profile ? `*${profile}*` : undefined, `[${majorMode}]`, domains.join(',')]\n .filter((part) => Boolean(part))\n .join(':');\n}\n","import type { MajorModesConfig } from '@agimon-ai/po-config/majorModes';\n\n/** The npm name this package registers its voice tool and contributions under. */\nexport const MAJOR_MODE_SOURCE = '@agimon-ai/po-major-mode';\n\n/** The selection as both the command and the voice tool need to see it. */\nexport interface MajorModeView {\n config: MajorModesConfig;\n majorMode: string;\n domains: readonly string[];\n profile?: string;\n}\n"],"mappings":";;AAAA,MAAa,aAAa;;AAG1B,SAAgB,WAAW,WAAmB,SAA4B,SAA0B;CAClG,OAAO;EAAC,UAAU,IAAI,QAAQ,KAAK,KAAA;EAAW,IAAI,UAAU;EAAI,QAAQ,KAAK,GAAG;CAAC,CAAC,CAC/E,QAAQ,SAAS,QAAQ,IAAI,CAAC,CAAC,CAC/B,KAAK,GAAG;AACb;;;;ACJA,MAAa,oBAAoB"}
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../src/services/statusLine/index.ts","../src/types/majorMode.ts"],"sourcesContent":["export const STATUS_KEY = 'po-major-mode';\n\n/** Compact footer text for the selected major mode, domains, and profile. */\nexport function statusText(majorMode: string, domains: readonly string[], profile?: string): string {\n return [profile ? `*${profile}*` : undefined, `[${majorMode}]`, domains.join(',')]\n .filter((part) => Boolean(part))\n .join(':');\n}\n","import type { MajorModesConfig } from '@agimon-ai/po-config/majorModes';\n\n/** The npm name this package registers its voice tool and contributions under. */\nexport const MAJOR_MODE_SOURCE = '@agimon-ai/po-major-mode';\n\n/** The selection as both the command and the voice tool need to see it. */\nexport interface MajorModeView {\n config: MajorModesConfig;\n majorMode: string;\n domains: readonly string[];\n profile?: string;\n}\n"],"mappings":";;AAAA,MAAa,aAAa;;AAG1B,SAAgB,WAAW,WAAmB,SAA4B,SAA0B;CAClG,OAAO;EAAC,UAAU,IAAI,QAAQ,KAAK,KAAA;EAAW,IAAI,UAAU;EAAI,QAAQ,KAAK,GAAG;CAAC,CAAC,CAC/E,QAAQ,SAAS,QAAQ,IAAI,CAAC,CAAC,CAC/B,KAAK,GAAG;AACb;;;;ACJA,MAAa,oBAAoB"}
package/llms.txt CHANGED
@@ -1,6 +1,6 @@
1
- # Doom Pi Major Mode
1
+ # Po Pi Major Mode
2
2
 
3
- Named major-mode selection for Doom Pi sessions.
3
+ Named major-mode selection for Po Pi sessions.
4
4
 
5
5
  ## How to author
6
6
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agimon-ai/po-major-mode",
3
- "version": "0.0.0-alpha.2",
3
+ "version": "0.0.0-alpha.4",
4
4
  "description": "Named major-mode selection and layer composition switching for Po sessions.",
5
5
  "keywords": [
6
6
  "ai",
@@ -60,24 +60,24 @@
60
60
  "access": "public"
61
61
  },
62
62
  "dependencies": {
63
- "@agimon-ai/po-config": "0.0.0-alpha.2",
64
- "@agimon-ai/po-core": "0.0.0-alpha.2",
65
- "@agimon-ai/po-minor-mode": "0.0.0-alpha.2",
66
- "@agimon-ai/po-telemetry": "0.0.0-alpha.2",
63
+ "@agimon-ai/po-config": "0.0.0-alpha.4",
64
+ "@agimon-ai/po-core": "0.0.0-alpha.4",
65
+ "@agimon-ai/po-minor-mode": "0.0.0-alpha.4",
66
+ "@agimon-ai/po-telemetry": "0.0.0-alpha.4",
67
67
  "@deepseek-ai/cordis": "4.0.4",
68
- "typebox": "1.3.34"
68
+ "typebox": "1.3.37"
69
69
  },
70
70
  "devDependencies": {
71
- "@agimon-ai/po-build": "0.0.0-alpha.2",
72
- "@agimon-ai/po-voice": "0.0.0-alpha.2",
73
- "@agimon-ai/vibe-lint-plugin-doom-extension": "0.0.0-alpha.2",
71
+ "@agimon-ai/po-build": "0.0.0-alpha.4",
72
+ "@agimon-ai/po-voice": "0.0.0-alpha.4",
73
+ "@agimon-ai/vibe-lint-plugin-po-extension": "0.0.0-alpha.4",
74
74
  "@deepseek-ai/cordis": "4.0.4",
75
75
  "@earendil-works/pi-coding-agent": "1.2.0",
76
- "@types/node": "26.6.4",
77
- "@vitest/coverage-v8": "5.0.3",
78
- "tsdown": "0.23.0",
76
+ "@types/node": "26.6.5",
77
+ "@vitest/coverage-v8": "5.0.4",
78
+ "tsdown": "0.23.1",
79
79
  "typescript": "7.0.2",
80
- "vitest": "5.0.3"
80
+ "vitest": "5.0.4"
81
81
  },
82
82
  "peerDependencies": {
83
83
  "@earendil-works/pi-coding-agent": "1.2.0"
@@ -148,5 +148,5 @@ po sync --check
148
148
  ```
149
149
 
150
150
  Run `po sync` only when the user intends to install packages or refresh synchronized artifacts.
151
- For repository changes to the parser or templates themselves, run the affected Doom Config and
151
+ For repository changes to the parser or templates themselves, run the affected Po Config and
152
152
  Po lint, typecheck, build, and test targets.