@agimon-ai/doompi-plan 0.0.1-alpha.1 → 0.0.1-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.
Files changed (123) hide show
  1. package/dist/adapters/pi/extension.cjs +2 -0
  2. package/dist/adapters/pi/extension.cjs.map +1 -0
  3. package/dist/{extension.d.cts → adapters/pi/extension.d.cts} +1 -1
  4. package/dist/adapters/pi/extension.d.cts.map +1 -0
  5. package/dist/{extension.d.mts → adapters/pi/extension.d.mts} +1 -1
  6. package/dist/adapters/pi/extension.d.mts.map +1 -0
  7. package/dist/adapters/pi/extension.mjs +2 -0
  8. package/dist/adapters/pi/extension.mjs.map +1 -0
  9. package/dist/adapters/telemetry/logSinkTelemetry.cjs +2 -0
  10. package/dist/adapters/telemetry/logSinkTelemetry.cjs.map +1 -0
  11. package/dist/adapters/telemetry/logSinkTelemetry.d.cts +34 -0
  12. package/dist/adapters/telemetry/logSinkTelemetry.d.cts.map +1 -0
  13. package/dist/adapters/telemetry/logSinkTelemetry.d.mts +34 -0
  14. package/dist/adapters/telemetry/logSinkTelemetry.d.mts.map +1 -0
  15. package/dist/adapters/telemetry/logSinkTelemetry.mjs +2 -0
  16. package/dist/adapters/telemetry/logSinkTelemetry.mjs.map +1 -0
  17. package/dist/config.cjs +1 -2
  18. package/dist/config.d.cts +2 -14
  19. package/dist/config.d.mts +2 -14
  20. package/dist/config.mjs +1 -2
  21. package/dist/extensions/doom.cjs +1 -1
  22. package/dist/extensions/doom.cjs.map +1 -1
  23. package/dist/extensions/doom.mjs +1 -1
  24. package/dist/extensions/doom.mjs.map +1 -1
  25. package/dist/extensions/pi.cjs +1 -1
  26. package/dist/extensions/pi.cjs.map +1 -1
  27. package/dist/extensions/pi.d.cts +1 -1
  28. package/dist/extensions/pi.d.mts +1 -1
  29. package/dist/extensions/pi.mjs +1 -1
  30. package/dist/extensions/pi.mjs.map +1 -1
  31. package/dist/fableFlow.cjs +1 -3
  32. package/dist/fableFlow.d.cts +2 -66
  33. package/dist/fableFlow.d.mts +2 -66
  34. package/dist/fableFlow.mjs +1 -3
  35. package/dist/index.cjs +1 -1
  36. package/dist/index.d.cts +4 -4
  37. package/dist/index.d.mts +4 -4
  38. package/dist/index.mjs +1 -1
  39. package/dist/logSinkTelemetry.cjs +1 -2
  40. package/dist/logSinkTelemetry.d.cts +2 -24
  41. package/dist/logSinkTelemetry.d.mts +2 -24
  42. package/dist/logSinkTelemetry.mjs +1 -2
  43. package/dist/planConfig.cjs +1 -2
  44. package/dist/planConfig.d.cts +2 -0
  45. package/dist/planConfig.d.mts +2 -0
  46. package/dist/planConfig.mjs +1 -2
  47. package/dist/planMode.cjs +1 -6
  48. package/dist/planMode.d.cts +3 -75
  49. package/dist/planMode.d.mts +3 -75
  50. package/dist/planMode.mjs +1 -6
  51. package/dist/prompts.cjs +1 -3
  52. package/dist/prompts.d.cts +2 -24
  53. package/dist/prompts.d.mts +2 -24
  54. package/dist/prompts.mjs +1 -3
  55. package/dist/schemas/plan/config.cjs +2 -0
  56. package/dist/schemas/plan/config.cjs.map +1 -0
  57. package/dist/schemas/plan/config.d.cts +14 -0
  58. package/dist/schemas/plan/config.d.cts.map +1 -0
  59. package/dist/schemas/plan/config.d.mts +14 -0
  60. package/dist/schemas/plan/config.d.mts.map +1 -0
  61. package/dist/schemas/plan/config.mjs +2 -0
  62. package/dist/schemas/plan/config.mjs.map +1 -0
  63. package/dist/schemas/plan/planConfig.cjs +2 -0
  64. package/dist/schemas/plan/planConfig.cjs.map +1 -0
  65. package/dist/schemas/plan/planConfig.d.cts +21 -0
  66. package/dist/schemas/plan/planConfig.d.cts.map +1 -0
  67. package/dist/schemas/plan/planConfig.d.mts +21 -0
  68. package/dist/schemas/plan/planConfig.d.mts.map +1 -0
  69. package/dist/schemas/plan/planConfig.mjs +2 -0
  70. package/dist/schemas/plan/planConfig.mjs.map +1 -0
  71. package/dist/services/plan/fableFlow.cjs +3 -0
  72. package/dist/services/plan/fableFlow.cjs.map +1 -0
  73. package/dist/services/plan/fableFlow.d.cts +66 -0
  74. package/dist/services/plan/fableFlow.d.cts.map +1 -0
  75. package/dist/services/plan/fableFlow.d.mts +66 -0
  76. package/dist/services/plan/fableFlow.d.mts.map +1 -0
  77. package/dist/services/plan/fableFlow.mjs +3 -0
  78. package/dist/services/plan/fableFlow.mjs.map +1 -0
  79. package/dist/services/plan/planMode.cjs +6 -0
  80. package/dist/services/plan/planMode.cjs.map +1 -0
  81. package/dist/services/plan/planMode.d.cts +75 -0
  82. package/dist/services/plan/planMode.d.cts.map +1 -0
  83. package/dist/services/plan/planMode.d.mts +75 -0
  84. package/dist/services/plan/planMode.d.mts.map +1 -0
  85. package/dist/services/plan/planMode.mjs +6 -0
  86. package/dist/services/plan/planMode.mjs.map +1 -0
  87. package/dist/services/plan/prompts.cjs +3 -0
  88. package/dist/services/plan/prompts.cjs.map +1 -0
  89. package/dist/services/plan/prompts.d.cts +24 -0
  90. package/dist/services/plan/prompts.d.cts.map +1 -0
  91. package/dist/services/plan/prompts.d.mts +24 -0
  92. package/dist/services/plan/prompts.d.mts.map +1 -0
  93. package/dist/services/plan/prompts.mjs +3 -0
  94. package/dist/services/plan/prompts.mjs.map +1 -0
  95. package/package.json +5 -5
  96. package/dist/config.cjs.map +0 -1
  97. package/dist/config.d.cts.map +0 -1
  98. package/dist/config.d.mts.map +0 -1
  99. package/dist/config.mjs.map +0 -1
  100. package/dist/extension.cjs +0 -2
  101. package/dist/extension.cjs.map +0 -1
  102. package/dist/extension.d.cts.map +0 -1
  103. package/dist/extension.d.mts.map +0 -1
  104. package/dist/extension.mjs +0 -2
  105. package/dist/extension.mjs.map +0 -1
  106. package/dist/fableFlow.cjs.map +0 -1
  107. package/dist/fableFlow.d.cts.map +0 -1
  108. package/dist/fableFlow.d.mts.map +0 -1
  109. package/dist/fableFlow.mjs.map +0 -1
  110. package/dist/logSinkTelemetry.cjs.map +0 -1
  111. package/dist/logSinkTelemetry.d.cts.map +0 -1
  112. package/dist/logSinkTelemetry.d.mts.map +0 -1
  113. package/dist/logSinkTelemetry.mjs.map +0 -1
  114. package/dist/planConfig.cjs.map +0 -1
  115. package/dist/planConfig.mjs.map +0 -1
  116. package/dist/planMode.cjs.map +0 -1
  117. package/dist/planMode.d.cts.map +0 -1
  118. package/dist/planMode.d.mts.map +0 -1
  119. package/dist/planMode.mjs.map +0 -1
  120. package/dist/prompts.cjs.map +0 -1
  121. package/dist/prompts.d.cts.map +0 -1
  122. package/dist/prompts.d.mts.map +0 -1
  123. package/dist/prompts.mjs.map +0 -1
@@ -0,0 +1,2 @@
1
+ const e=require(`../../services/plan/planMode.cjs`),t={recordError:async()=>void 0,recordWarning:async()=>void 0,recordEvent:async()=>void 0,flush:async()=>void 0,shutdown:async()=>void 0};function n(n){e.planModeExtension(n,()=>void 0,t,{doomIntegrations:!1})}exports.activateStandardPlanExtension=n;
2
+ //# sourceMappingURL=extension.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extension.cjs","names":[],"sources":["../../../src/adapters/pi/extension.ts"],"sourcesContent":["import type { ExtensionAPI } from '@earendil-works/pi-coding-agent';\nimport { planModeExtension } from '../../services/plan/planMode.ts';\nimport type { PlanTelemetry } from '../telemetry/logSinkTelemetry.ts';\n\nconst standardTelemetry: PlanTelemetry = {\n recordError: async () => undefined,\n recordWarning: async () => undefined,\n recordEvent: async () => undefined,\n flush: async () => undefined,\n shutdown: async () => undefined,\n};\n\n/** Standard Pi composition using session APIs without Doom config or UI providers. */\nexport function activateStandardPlanExtension(pi: ExtensionAPI): void {\n planModeExtension(pi, () => undefined, standardTelemetry, { doomIntegrations: false });\n}\n"],"mappings":"oDAIM,EAAmC,CACvC,YAAa,SAAY,IAAA,GACzB,cAAe,SAAY,IAAA,GAC3B,YAAa,SAAY,IAAA,GACzB,MAAO,SAAY,IAAA,GACnB,SAAU,SAAY,IAAA,GACvB,CAGD,SAAgB,EAA8B,EAAwB,CACpE,EAAA,kBAAkB,MAAU,IAAA,GAAW,EAAmB,CAAE,iBAAkB,GAAO,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { ExtensionAPI } from "@earendil-works/pi-coding-agent";
2
2
 
3
- //#region src/extension.d.ts
3
+ //#region src/adapters/pi/extension.d.ts
4
4
  /** Standard Pi composition using session APIs without Doom config or UI providers. */
5
5
  declare function activateStandardPlanExtension(pi: ExtensionAPI): void;
6
6
  //#endregion
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extension.d.cts","names":[],"sources":["../../../src/adapters/pi/extension.ts"],"mappings":";;;;iBAagB,6BAAA,CAA8B,EAAA,EAAI,YAAA"}
@@ -1,6 +1,6 @@
1
1
  import { ExtensionAPI } from "@earendil-works/pi-coding-agent";
2
2
 
3
- //#region src/extension.d.ts
3
+ //#region src/adapters/pi/extension.d.ts
4
4
  /** Standard Pi composition using session APIs without Doom config or UI providers. */
5
5
  declare function activateStandardPlanExtension(pi: ExtensionAPI): void;
6
6
  //#endregion
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extension.d.mts","names":[],"sources":["../../../src/adapters/pi/extension.ts"],"mappings":";;;;iBAagB,6BAAA,CAA8B,EAAA,EAAI,YAAA"}
@@ -0,0 +1,2 @@
1
+ import{planModeExtension as e}from"../../services/plan/planMode.mjs";const t={recordError:async()=>void 0,recordWarning:async()=>void 0,recordEvent:async()=>void 0,flush:async()=>void 0,shutdown:async()=>void 0};function n(n){e(n,()=>void 0,t,{doomIntegrations:!1})}export{n as activateStandardPlanExtension};
2
+ //# sourceMappingURL=extension.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extension.mjs","names":[],"sources":["../../../src/adapters/pi/extension.ts"],"sourcesContent":["import type { ExtensionAPI } from '@earendil-works/pi-coding-agent';\nimport { planModeExtension } from '../../services/plan/planMode.ts';\nimport type { PlanTelemetry } from '../telemetry/logSinkTelemetry.ts';\n\nconst standardTelemetry: PlanTelemetry = {\n recordError: async () => undefined,\n recordWarning: async () => undefined,\n recordEvent: async () => undefined,\n flush: async () => undefined,\n shutdown: async () => undefined,\n};\n\n/** Standard Pi composition using session APIs without Doom config or UI providers. */\nexport function activateStandardPlanExtension(pi: ExtensionAPI): void {\n planModeExtension(pi, () => undefined, standardTelemetry, { doomIntegrations: false });\n}\n"],"mappings":"qEAIA,MAAM,EAAmC,CACvC,YAAa,SAAY,IAAA,GACzB,cAAe,SAAY,IAAA,GAC3B,YAAa,SAAY,IAAA,GACzB,MAAO,SAAY,IAAA,GACnB,SAAU,SAAY,IAAA,GACvB,CAGD,SAAgB,EAA8B,EAAwB,CACpE,EAAkB,MAAU,IAAA,GAAW,EAAmB,CAAE,iBAAkB,GAAO,CAAC"}
@@ -0,0 +1,2 @@
1
+ require(`../../_virtual/_rolldown/runtime.cjs`);let e=require(`@agimon-ai/doompi-telemetry`);const t={configLoadFailed:`doom_plan.config_load_failed`,writePlanFailed:`doom_plan.write_plan_failed`,writePlanTimedOut:`doom_plan.write_plan_timed_out`,writePlanUnsafePath:`doom_plan.write_plan_unsafe_path`,modelResolveFailed:`doom_plan.model_resolve_failed`,modeEnabled:`doom_plan.mode_enabled`,modeDisabled:`doom_plan.mode_disabled`,planWritten:`doom_plan.plan_written`,planReviewCompleted:`doom_plan.plan_review_completed`};function n(t={}){let n=(0,e.createDoomTelemetry)({serviceName:`doom-plan`,packageName:`@agimon-ai/doompi-plan`,cwd:t.cwd,workspaceRoot:t.workspaceRoot,env:t.env,telemetryFactory:t.telemetryFactory,warn:t.warn,enableLogs:!0,enableTraces:!0});return{recordError:(e,t,r)=>n.recordError(e,t,r),recordWarning:(e,t,r)=>n.recordWarning(e,t,r),recordEvent:(e,t)=>n.recordEvent(e,t),flush:()=>n.flush(),shutdown:()=>n.shutdown()}}exports.PLAN_EVENT=t,exports.createPlanTelemetry=n;
2
+ //# sourceMappingURL=logSinkTelemetry.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logSinkTelemetry.cjs","names":[],"sources":["../../../src/adapters/telemetry/logSinkTelemetry.ts"],"sourcesContent":["import { createDoomTelemetry, type DoomTelemetry, type DoomTelemetryOptions } from '@agimon-ai/doompi-telemetry';\n\nconst SERVICE_NAME = 'doom-plan';\nconst PACKAGE_NAME = '@agimon-ai/doompi-plan';\n\nexport const PLAN_EVENT = {\n configLoadFailed: 'doom_plan.config_load_failed',\n writePlanFailed: 'doom_plan.write_plan_failed',\n writePlanTimedOut: 'doom_plan.write_plan_timed_out',\n writePlanUnsafePath: 'doom_plan.write_plan_unsafe_path',\n modelResolveFailed: 'doom_plan.model_resolve_failed',\n modeEnabled: 'doom_plan.mode_enabled',\n modeDisabled: 'doom_plan.mode_disabled',\n planWritten: 'doom_plan.plan_written',\n planReviewCompleted: 'doom_plan.plan_review_completed',\n} as const;\n\nexport type PlanEventName = (typeof PLAN_EVENT)[keyof typeof PLAN_EVENT];\nexport type PlanEventAttributes = Record<string, string | number | boolean>;\n\nexport interface PlanTelemetryOptions {\n cwd?: string;\n workspaceRoot?: string;\n env?: NodeJS.ProcessEnv;\n telemetryFactory?: NonNullable<DoomTelemetryOptions['telemetryFactory']>;\n warn?: (message: string) => void;\n}\n\nexport interface PlanTelemetry {\n recordError(event: PlanEventName, error: unknown, attributes?: PlanEventAttributes): Promise<void>;\n recordWarning(event: PlanEventName, error: unknown, attributes?: PlanEventAttributes): Promise<void>;\n recordEvent(event: PlanEventName, attributes?: PlanEventAttributes): Promise<void>;\n flush(): Promise<void>;\n shutdown(): Promise<void>;\n}\n\nexport function createPlanTelemetry(options: PlanTelemetryOptions = {}): PlanTelemetry {\n const telemetry: DoomTelemetry = createDoomTelemetry({\n serviceName: SERVICE_NAME,\n packageName: PACKAGE_NAME,\n cwd: options.cwd,\n workspaceRoot: options.workspaceRoot,\n env: options.env,\n telemetryFactory: options.telemetryFactory,\n warn: options.warn,\n enableLogs: true,\n enableTraces: true,\n });\n return {\n recordError: (event, error, attributes) => telemetry.recordError(event, error, attributes),\n recordWarning: (event, error, attributes) => telemetry.recordWarning(event, error, attributes),\n recordEvent: (event, attributes) => telemetry.recordEvent(event, attributes),\n flush: () => telemetry.flush(),\n shutdown: () => telemetry.shutdown(),\n };\n}\n"],"mappings":"6FAEA,MAGa,EAAa,CACxB,iBAAkB,+BAClB,gBAAiB,8BACjB,kBAAmB,iCACnB,oBAAqB,mCACrB,mBAAoB,iCACpB,YAAa,yBACb,aAAc,0BACd,YAAa,yBACb,oBAAqB,kCACtB,CAqBD,SAAgB,EAAoB,EAAgC,EAAE,CAAiB,CACrF,IAAM,GAAA,EAAA,EAAA,qBAA+C,CACnD,YAAa,YACb,YAAa,yBACb,IAAK,EAAQ,IACb,cAAe,EAAQ,cACvB,IAAK,EAAQ,IACb,iBAAkB,EAAQ,iBAC1B,KAAM,EAAQ,KACd,WAAY,GACZ,aAAc,GACf,CAAC,CACF,MAAO,CACL,aAAc,EAAO,EAAO,IAAe,EAAU,YAAY,EAAO,EAAO,EAAW,CAC1F,eAAgB,EAAO,EAAO,IAAe,EAAU,cAAc,EAAO,EAAO,EAAW,CAC9F,aAAc,EAAO,IAAe,EAAU,YAAY,EAAO,EAAW,CAC5E,UAAa,EAAU,OAAO,CAC9B,aAAgB,EAAU,UAAU,CACrC"}
@@ -0,0 +1,34 @@
1
+ import { DoomTelemetryOptions } from "@agimon-ai/doompi-telemetry";
2
+
3
+ //#region src/adapters/telemetry/logSinkTelemetry.d.ts
4
+ declare const PLAN_EVENT: {
5
+ readonly configLoadFailed: "doom_plan.config_load_failed";
6
+ readonly writePlanFailed: "doom_plan.write_plan_failed";
7
+ readonly writePlanTimedOut: "doom_plan.write_plan_timed_out";
8
+ readonly writePlanUnsafePath: "doom_plan.write_plan_unsafe_path";
9
+ readonly modelResolveFailed: "doom_plan.model_resolve_failed";
10
+ readonly modeEnabled: "doom_plan.mode_enabled";
11
+ readonly modeDisabled: "doom_plan.mode_disabled";
12
+ readonly planWritten: "doom_plan.plan_written";
13
+ readonly planReviewCompleted: "doom_plan.plan_review_completed";
14
+ };
15
+ type PlanEventName = (typeof PLAN_EVENT)[keyof typeof PLAN_EVENT];
16
+ type PlanEventAttributes = Record<string, string | number | boolean>;
17
+ interface PlanTelemetryOptions {
18
+ cwd?: string;
19
+ workspaceRoot?: string;
20
+ env?: NodeJS.ProcessEnv;
21
+ telemetryFactory?: NonNullable<DoomTelemetryOptions['telemetryFactory']>;
22
+ warn?: (message: string) => void;
23
+ }
24
+ interface PlanTelemetry {
25
+ recordError(event: PlanEventName, error: unknown, attributes?: PlanEventAttributes): Promise<void>;
26
+ recordWarning(event: PlanEventName, error: unknown, attributes?: PlanEventAttributes): Promise<void>;
27
+ recordEvent(event: PlanEventName, attributes?: PlanEventAttributes): Promise<void>;
28
+ flush(): Promise<void>;
29
+ shutdown(): Promise<void>;
30
+ }
31
+ declare function createPlanTelemetry(options?: PlanTelemetryOptions): PlanTelemetry;
32
+ //#endregion
33
+ export { PLAN_EVENT, PlanEventAttributes, PlanEventName, PlanTelemetry, PlanTelemetryOptions, createPlanTelemetry };
34
+ //# sourceMappingURL=logSinkTelemetry.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logSinkTelemetry.d.cts","names":[],"sources":["../../../src/adapters/telemetry/logSinkTelemetry.ts"],"mappings":";;;cAKa,UAAA;EAAA;;;;;;;;;;KAYD,aAAA,WAAwB,UAAA,eAAyB,UAAA;AAAA,KACjD,mBAAA,GAAsB,MAAA;AAAA,UAEjB,oBAAA;EACf,GAAA;EACA,aAAA;EACA,GAAA,GAAM,MAAA,CAAO,UAAA;EACb,gBAAA,GAAmB,WAAA,CAAY,oBAAA;EAC/B,IAAA,IAAQ,OAAA;AAAA;AAAA,UAGO,aAAA;EACf,WAAA,CAAY,KAAA,EAAO,aAAA,EAAe,KAAA,WAAgB,UAAA,GAAa,mBAAA,GAAsB,OAAA;EACrF,aAAA,CAAc,KAAA,EAAO,aAAA,EAAe,KAAA,WAAgB,UAAA,GAAa,mBAAA,GAAsB,OAAA;EACvF,WAAA,CAAY,KAAA,EAAO,aAAA,EAAe,UAAA,GAAa,mBAAA,GAAsB,OAAA;EACrE,KAAA,IAAS,OAAA;EACT,QAAA,IAAY,OAAA;AAAA;AAAA,iBAGE,mBAAA,CAAoB,OAAA,GAAS,oBAAA,GAA4B,aAAA"}
@@ -0,0 +1,34 @@
1
+ import { DoomTelemetryOptions } from "@agimon-ai/doompi-telemetry";
2
+
3
+ //#region src/adapters/telemetry/logSinkTelemetry.d.ts
4
+ declare const PLAN_EVENT: {
5
+ readonly configLoadFailed: "doom_plan.config_load_failed";
6
+ readonly writePlanFailed: "doom_plan.write_plan_failed";
7
+ readonly writePlanTimedOut: "doom_plan.write_plan_timed_out";
8
+ readonly writePlanUnsafePath: "doom_plan.write_plan_unsafe_path";
9
+ readonly modelResolveFailed: "doom_plan.model_resolve_failed";
10
+ readonly modeEnabled: "doom_plan.mode_enabled";
11
+ readonly modeDisabled: "doom_plan.mode_disabled";
12
+ readonly planWritten: "doom_plan.plan_written";
13
+ readonly planReviewCompleted: "doom_plan.plan_review_completed";
14
+ };
15
+ type PlanEventName = (typeof PLAN_EVENT)[keyof typeof PLAN_EVENT];
16
+ type PlanEventAttributes = Record<string, string | number | boolean>;
17
+ interface PlanTelemetryOptions {
18
+ cwd?: string;
19
+ workspaceRoot?: string;
20
+ env?: NodeJS.ProcessEnv;
21
+ telemetryFactory?: NonNullable<DoomTelemetryOptions['telemetryFactory']>;
22
+ warn?: (message: string) => void;
23
+ }
24
+ interface PlanTelemetry {
25
+ recordError(event: PlanEventName, error: unknown, attributes?: PlanEventAttributes): Promise<void>;
26
+ recordWarning(event: PlanEventName, error: unknown, attributes?: PlanEventAttributes): Promise<void>;
27
+ recordEvent(event: PlanEventName, attributes?: PlanEventAttributes): Promise<void>;
28
+ flush(): Promise<void>;
29
+ shutdown(): Promise<void>;
30
+ }
31
+ declare function createPlanTelemetry(options?: PlanTelemetryOptions): PlanTelemetry;
32
+ //#endregion
33
+ export { PLAN_EVENT, PlanEventAttributes, PlanEventName, PlanTelemetry, PlanTelemetryOptions, createPlanTelemetry };
34
+ //# sourceMappingURL=logSinkTelemetry.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logSinkTelemetry.d.mts","names":[],"sources":["../../../src/adapters/telemetry/logSinkTelemetry.ts"],"mappings":";;;cAKa,UAAA;EAAA;;;;;;;;;;KAYD,aAAA,WAAwB,UAAA,eAAyB,UAAA;AAAA,KACjD,mBAAA,GAAsB,MAAA;AAAA,UAEjB,oBAAA;EACf,GAAA;EACA,aAAA;EACA,GAAA,GAAM,MAAA,CAAO,UAAA;EACb,gBAAA,GAAmB,WAAA,CAAY,oBAAA;EAC/B,IAAA,IAAQ,OAAA;AAAA;AAAA,UAGO,aAAA;EACf,WAAA,CAAY,KAAA,EAAO,aAAA,EAAe,KAAA,WAAgB,UAAA,GAAa,mBAAA,GAAsB,OAAA;EACrF,aAAA,CAAc,KAAA,EAAO,aAAA,EAAe,KAAA,WAAgB,UAAA,GAAa,mBAAA,GAAsB,OAAA;EACvF,WAAA,CAAY,KAAA,EAAO,aAAA,EAAe,UAAA,GAAa,mBAAA,GAAsB,OAAA;EACrE,KAAA,IAAS,OAAA;EACT,QAAA,IAAY,OAAA;AAAA;AAAA,iBAGE,mBAAA,CAAoB,OAAA,GAAS,oBAAA,GAA4B,aAAA"}
@@ -0,0 +1,2 @@
1
+ import{createDoomTelemetry as e}from"@agimon-ai/doompi-telemetry";const t={configLoadFailed:`doom_plan.config_load_failed`,writePlanFailed:`doom_plan.write_plan_failed`,writePlanTimedOut:`doom_plan.write_plan_timed_out`,writePlanUnsafePath:`doom_plan.write_plan_unsafe_path`,modelResolveFailed:`doom_plan.model_resolve_failed`,modeEnabled:`doom_plan.mode_enabled`,modeDisabled:`doom_plan.mode_disabled`,planWritten:`doom_plan.plan_written`,planReviewCompleted:`doom_plan.plan_review_completed`};function n(t={}){let n=e({serviceName:`doom-plan`,packageName:`@agimon-ai/doompi-plan`,cwd:t.cwd,workspaceRoot:t.workspaceRoot,env:t.env,telemetryFactory:t.telemetryFactory,warn:t.warn,enableLogs:!0,enableTraces:!0});return{recordError:(e,t,r)=>n.recordError(e,t,r),recordWarning:(e,t,r)=>n.recordWarning(e,t,r),recordEvent:(e,t)=>n.recordEvent(e,t),flush:()=>n.flush(),shutdown:()=>n.shutdown()}}export{t as PLAN_EVENT,n as createPlanTelemetry};
2
+ //# sourceMappingURL=logSinkTelemetry.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logSinkTelemetry.mjs","names":[],"sources":["../../../src/adapters/telemetry/logSinkTelemetry.ts"],"sourcesContent":["import { createDoomTelemetry, type DoomTelemetry, type DoomTelemetryOptions } from '@agimon-ai/doompi-telemetry';\n\nconst SERVICE_NAME = 'doom-plan';\nconst PACKAGE_NAME = '@agimon-ai/doompi-plan';\n\nexport const PLAN_EVENT = {\n configLoadFailed: 'doom_plan.config_load_failed',\n writePlanFailed: 'doom_plan.write_plan_failed',\n writePlanTimedOut: 'doom_plan.write_plan_timed_out',\n writePlanUnsafePath: 'doom_plan.write_plan_unsafe_path',\n modelResolveFailed: 'doom_plan.model_resolve_failed',\n modeEnabled: 'doom_plan.mode_enabled',\n modeDisabled: 'doom_plan.mode_disabled',\n planWritten: 'doom_plan.plan_written',\n planReviewCompleted: 'doom_plan.plan_review_completed',\n} as const;\n\nexport type PlanEventName = (typeof PLAN_EVENT)[keyof typeof PLAN_EVENT];\nexport type PlanEventAttributes = Record<string, string | number | boolean>;\n\nexport interface PlanTelemetryOptions {\n cwd?: string;\n workspaceRoot?: string;\n env?: NodeJS.ProcessEnv;\n telemetryFactory?: NonNullable<DoomTelemetryOptions['telemetryFactory']>;\n warn?: (message: string) => void;\n}\n\nexport interface PlanTelemetry {\n recordError(event: PlanEventName, error: unknown, attributes?: PlanEventAttributes): Promise<void>;\n recordWarning(event: PlanEventName, error: unknown, attributes?: PlanEventAttributes): Promise<void>;\n recordEvent(event: PlanEventName, attributes?: PlanEventAttributes): Promise<void>;\n flush(): Promise<void>;\n shutdown(): Promise<void>;\n}\n\nexport function createPlanTelemetry(options: PlanTelemetryOptions = {}): PlanTelemetry {\n const telemetry: DoomTelemetry = createDoomTelemetry({\n serviceName: SERVICE_NAME,\n packageName: PACKAGE_NAME,\n cwd: options.cwd,\n workspaceRoot: options.workspaceRoot,\n env: options.env,\n telemetryFactory: options.telemetryFactory,\n warn: options.warn,\n enableLogs: true,\n enableTraces: true,\n });\n return {\n recordError: (event, error, attributes) => telemetry.recordError(event, error, attributes),\n recordWarning: (event, error, attributes) => telemetry.recordWarning(event, error, attributes),\n recordEvent: (event, attributes) => telemetry.recordEvent(event, attributes),\n flush: () => telemetry.flush(),\n shutdown: () => telemetry.shutdown(),\n };\n}\n"],"mappings":"kEAEA,MAGa,EAAa,CACxB,iBAAkB,+BAClB,gBAAiB,8BACjB,kBAAmB,iCACnB,oBAAqB,mCACrB,mBAAoB,iCACpB,YAAa,yBACb,aAAc,0BACd,YAAa,yBACb,oBAAqB,kCACtB,CAqBD,SAAgB,EAAoB,EAAgC,EAAE,CAAiB,CACrF,IAAM,EAA2B,EAAoB,CACnD,YAAa,YACb,YAAa,yBACb,IAAK,EAAQ,IACb,cAAe,EAAQ,cACvB,IAAK,EAAQ,IACb,iBAAkB,EAAQ,iBAC1B,KAAM,EAAQ,KACd,WAAY,GACZ,aAAc,GACf,CAAC,CACF,MAAO,CACL,aAAc,EAAO,EAAO,IAAe,EAAU,YAAY,EAAO,EAAO,EAAW,CAC1F,eAAgB,EAAO,EAAO,IAAe,EAAU,cAAc,EAAO,EAAO,EAAW,CAC9F,aAAc,EAAO,IAAe,EAAU,YAAY,EAAO,EAAW,CAC5E,UAAa,EAAU,OAAO,CAC9B,aAAgB,EAAU,UAAU,CACrC"}
package/dist/config.cjs CHANGED
@@ -1,2 +1 @@
1
- require(`./_virtual/_rolldown/runtime.cjs`);let e=require(`@agimon-ai/doompi-config`);function t(t,n){let r=(0,e.parseDoomConfig)(t,n);return r.modes?{modes:r.modes}:{}}function n(t,n){let r=(0,e.mergeDoomConfigs)({...t,projectTrust:`ask`},{...n,projectTrust:`ask`});return r.modes?{modes:r.modes}:{}}function r(t,n){let r=(0,e.loadDoomConfig)(t,n);return r.modes?{modes:r.modes}:{}}exports.loadDoomConfig=r,exports.mergeDoomConfigs=n,exports.parseDoomConfig=t;
2
- //# sourceMappingURL=config.cjs.map
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require(`./_virtual/_rolldown/runtime.cjs`);const e=require(`./schemas/plan/config.cjs`);let t=require(`@agimon-ai/doompi-config`);exports.getHarnessState=t.getHarnessState,exports.globalDoomConfigPath=t.globalDoomConfigPath,exports.loadDoomConfig=e.loadDoomConfig,exports.loadHarnessState=t.loadHarnessState,exports.mergeDoomConfigs=e.mergeDoomConfigs,exports.parseDoomConfig=e.parseDoomConfig,exports.parsePlanningModeConfig=t.parsePlanningModeConfig,exports.repositoryDoomConfigPath=t.repositoryDoomConfigPath,exports.resolvePlanningPlansDirectory=t.resolvePlanningPlansDirectory;
package/dist/config.d.cts CHANGED
@@ -1,14 +1,2 @@
1
- import { PlanningAgentConfig, PlanningModeConfig, PlanningThinkingLevel, getHarnessState, globalDoomConfigPath, loadHarnessState, parsePlanningModeConfig, repositoryDoomConfigPath, resolvePlanningPlansDirectory } from "@agimon-ai/doompi-config";
2
-
3
- //#region src/config.d.ts
4
- interface DoomConfig {
5
- modes?: {
6
- planning?: PlanningModeConfig;
7
- };
8
- }
9
- declare function parseDoomConfig(content: string, filePath: string): DoomConfig;
10
- declare function mergeDoomConfigs(globalConfig: DoomConfig, repositoryConfig: DoomConfig): DoomConfig;
11
- declare function loadDoomConfig(repoRoot: string, homeDirectory?: string): DoomConfig;
12
- //#endregion
13
- export { DoomConfig, type PlanningAgentConfig, type PlanningModeConfig, type PlanningThinkingLevel, getHarnessState, globalDoomConfigPath, loadDoomConfig, loadHarnessState, mergeDoomConfigs, parseDoomConfig, parsePlanningModeConfig, repositoryDoomConfigPath, resolvePlanningPlansDirectory };
14
- //# sourceMappingURL=config.d.cts.map
1
+ import { DoomConfig, PlanningAgentConfig, PlanningModeConfig, PlanningThinkingLevel, getHarnessState, globalDoomConfigPath, loadDoomConfig, loadHarnessState, mergeDoomConfigs, parseDoomConfig, parsePlanningModeConfig, repositoryDoomConfigPath, resolvePlanningPlansDirectory } from "./schemas/plan/config.cjs";
2
+ export { DoomConfig, PlanningAgentConfig, PlanningModeConfig, PlanningThinkingLevel, getHarnessState, globalDoomConfigPath, loadDoomConfig, loadHarnessState, mergeDoomConfigs, parseDoomConfig, parsePlanningModeConfig, repositoryDoomConfigPath, resolvePlanningPlansDirectory };
package/dist/config.d.mts CHANGED
@@ -1,14 +1,2 @@
1
- import { PlanningAgentConfig, PlanningModeConfig, PlanningThinkingLevel, getHarnessState, globalDoomConfigPath as globalDoomConfigPath$1, loadHarnessState, parsePlanningModeConfig, repositoryDoomConfigPath, resolvePlanningPlansDirectory } from "@agimon-ai/doompi-config";
2
-
3
- //#region src/config.d.ts
4
- interface DoomConfig {
5
- modes?: {
6
- planning?: PlanningModeConfig;
7
- };
8
- }
9
- declare function parseDoomConfig$1(content: string, filePath: string): DoomConfig;
10
- declare function mergeDoomConfigs$1(globalConfig: DoomConfig, repositoryConfig: DoomConfig): DoomConfig;
11
- declare function loadDoomConfig$1(repoRoot: string, homeDirectory?: string): DoomConfig;
12
- //#endregion
13
- export { DoomConfig, type PlanningAgentConfig, type PlanningModeConfig, type PlanningThinkingLevel, getHarnessState, globalDoomConfigPath$1 as globalDoomConfigPath, loadDoomConfig$1 as loadDoomConfig, loadHarnessState, mergeDoomConfigs$1 as mergeDoomConfigs, parseDoomConfig$1 as parseDoomConfig, parsePlanningModeConfig, repositoryDoomConfigPath, resolvePlanningPlansDirectory };
14
- //# sourceMappingURL=config.d.mts.map
1
+ import { DoomConfig, PlanningAgentConfig, PlanningModeConfig, PlanningThinkingLevel, getHarnessState, globalDoomConfigPath, loadDoomConfig, loadHarnessState, mergeDoomConfigs, parseDoomConfig, parsePlanningModeConfig, repositoryDoomConfigPath, resolvePlanningPlansDirectory } from "./schemas/plan/config.mjs";
2
+ export { DoomConfig, PlanningAgentConfig, PlanningModeConfig, PlanningThinkingLevel, getHarnessState, globalDoomConfigPath, loadDoomConfig, loadHarnessState, mergeDoomConfigs, parseDoomConfig, parsePlanningModeConfig, repositoryDoomConfigPath, resolvePlanningPlansDirectory };
package/dist/config.mjs CHANGED
@@ -1,2 +1 @@
1
- import{getHarnessState as e,globalDoomConfigPath as t,loadDoomConfig as n,loadHarnessState as r,mergeDoomConfigs as i,parseDoomConfig as a,parsePlanningModeConfig as o,repositoryDoomConfigPath as s,resolvePlanningPlansDirectory as c}from"@agimon-ai/doompi-config";function l(e,t){let n=a(e,t);return n.modes?{modes:n.modes}:{}}function u(e,t){let n=i({...e,projectTrust:`ask`},{...t,projectTrust:`ask`});return n.modes?{modes:n.modes}:{}}function d(e,t){let r=n(e,t);return r.modes?{modes:r.modes}:{}}export{e as getHarnessState,t as globalDoomConfigPath,d as loadDoomConfig,r as loadHarnessState,u as mergeDoomConfigs,l as parseDoomConfig,o as parsePlanningModeConfig,s as repositoryDoomConfigPath,c as resolvePlanningPlansDirectory};
2
- //# sourceMappingURL=config.mjs.map
1
+ import{getHarnessState as e,globalDoomConfigPath as t,loadDoomConfig as n,loadHarnessState as r,mergeDoomConfigs as i,parseDoomConfig as a,parsePlanningModeConfig as o,repositoryDoomConfigPath as s,resolvePlanningPlansDirectory as c}from"./schemas/plan/config.mjs";export{e as getHarnessState,t as globalDoomConfigPath,n as loadDoomConfig,r as loadHarnessState,i as mergeDoomConfigs,a as parseDoomConfig,o as parsePlanningModeConfig,s as repositoryDoomConfigPath,c as resolvePlanningPlansDirectory};
@@ -1,2 +1,2 @@
1
- Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require(`../planMode.cjs`);function t(t){e.planModeExtension(t)}exports.default=t,exports.doomPlanExtension=t;
1
+ Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require(`../services/plan/planMode.cjs`);function t(t){e.planModeExtension(t)}exports.default=t,exports.doomPlanExtension=t;
2
2
  //# sourceMappingURL=doom.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"doom.cjs","names":[],"sources":["../../src/extensions/doom.ts"],"sourcesContent":["import type { ExtensionAPI } from '@earendil-works/pi-coding-agent';\n\nimport { planModeExtension } from '../planMode.ts';\n\n/** Doom composition: Doom config, telemetry, and the SPC p leader contribution. */\nexport function doomPlanExtension(pi: ExtensionAPI): void {\n planModeExtension(pi);\n}\n\nexport { doomPlanExtension as default };\n"],"mappings":"kIAKA,SAAgB,EAAkB,EAAwB,CACxD,EAAA,kBAAkB,EAAG"}
1
+ {"version":3,"file":"doom.cjs","names":[],"sources":["../../src/extensions/doom.ts"],"sourcesContent":["import type { ExtensionAPI } from '@earendil-works/pi-coding-agent';\n\nimport { planModeExtension } from '../services/plan/planMode.ts';\n\n/** Doom composition: Doom config, telemetry, and the SPC p leader contribution. */\nexport function doomPlanExtension(pi: ExtensionAPI): void {\n planModeExtension(pi);\n}\n\nexport { doomPlanExtension as default };\n"],"mappings":"gJAKA,SAAgB,EAAkB,EAAwB,CACxD,EAAA,kBAAkB,EAAG"}
@@ -1,2 +1,2 @@
1
- import{planModeExtension as e}from"../planMode.mjs";function t(t){e(t)}export{t as default,t as doomPlanExtension};
1
+ import{planModeExtension as e}from"../services/plan/planMode.mjs";function t(t){e(t)}export{t as default,t as doomPlanExtension};
2
2
  //# sourceMappingURL=doom.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"doom.mjs","names":[],"sources":["../../src/extensions/doom.ts"],"sourcesContent":["import type { ExtensionAPI } from '@earendil-works/pi-coding-agent';\n\nimport { planModeExtension } from '../planMode.ts';\n\n/** Doom composition: Doom config, telemetry, and the SPC p leader contribution. */\nexport function doomPlanExtension(pi: ExtensionAPI): void {\n planModeExtension(pi);\n}\n\nexport { doomPlanExtension as default };\n"],"mappings":"oDAKA,SAAgB,EAAkB,EAAwB,CACxD,EAAkB,EAAG"}
1
+ {"version":3,"file":"doom.mjs","names":[],"sources":["../../src/extensions/doom.ts"],"sourcesContent":["import type { ExtensionAPI } from '@earendil-works/pi-coding-agent';\n\nimport { planModeExtension } from '../services/plan/planMode.ts';\n\n/** Doom composition: Doom config, telemetry, and the SPC p leader contribution. */\nexport function doomPlanExtension(pi: ExtensionAPI): void {\n planModeExtension(pi);\n}\n\nexport { doomPlanExtension as default };\n"],"mappings":"kEAKA,SAAgB,EAAkB,EAAwB,CACxD,EAAkB,EAAG"}
@@ -1,2 +1,2 @@
1
- var e=require(`../extension.cjs`).activateStandardPlanExtension;module.exports=e;
1
+ var e=require(`../adapters/pi/extension.cjs`).activateStandardPlanExtension;module.exports=e;
2
2
  //# sourceMappingURL=pi.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"pi.cjs","names":["activateStandardPlanExtension"],"sources":["../../src/extensions/pi.ts"],"sourcesContent":["import { activateStandardPlanExtension } from '../extension.ts';\n\nexport default activateStandardPlanExtension;\n"],"mappings":"AAEA,IAAA,6BAAeA,CAAAA"}
1
+ {"version":3,"file":"pi.cjs","names":["activateStandardPlanExtension"],"sources":["../../src/extensions/pi.ts"],"sourcesContent":["import { activateStandardPlanExtension } from '../adapters/pi/extension.ts';\n\nexport default activateStandardPlanExtension;\n"],"mappings":"AAEA,IAAA,yCAAeA,CAAAA"}
@@ -1,2 +1,2 @@
1
- import { activateStandardPlanExtension } from "../extension.cjs";
1
+ import { activateStandardPlanExtension } from "../adapters/pi/extension.cjs";
2
2
  export = activateStandardPlanExtension;
@@ -1,2 +1,2 @@
1
- import { activateStandardPlanExtension } from "../extension.mjs";
1
+ import { activateStandardPlanExtension } from "../adapters/pi/extension.mjs";
2
2
  export { activateStandardPlanExtension as default };
@@ -1,2 +1,2 @@
1
- import{activateStandardPlanExtension as e}from"../extension.mjs";var t=e;export{t as default};
1
+ import{activateStandardPlanExtension as e}from"../adapters/pi/extension.mjs";var t=e;export{t as default};
2
2
  //# sourceMappingURL=pi.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"pi.mjs","names":[],"sources":["../../src/extensions/pi.ts"],"sourcesContent":["import { activateStandardPlanExtension } from '../extension.ts';\n\nexport default activateStandardPlanExtension;\n"],"mappings":"iEAEA,IAAA,EAAe"}
1
+ {"version":3,"file":"pi.mjs","names":[],"sources":["../../src/extensions/pi.ts"],"sourcesContent":["import { activateStandardPlanExtension } from '../adapters/pi/extension.ts';\n\nexport default activateStandardPlanExtension;\n"],"mappings":"6EAEA,IAAA,EAAe"}
@@ -1,3 +1 @@
1
- require(`./_virtual/_rolldown/runtime.cjs`);let e=require(`node:buffer`),t=require(`node:crypto`);const n=`@agimon-ai/doompi-plan`,r=`claude`,i=`fable`,a=`claude/fable-plan-v1`,o=[/(?:api[_-]?key|access[_-]?token|client[_-]?secret|password|private[_-]?key|authorization|bearer)\s*[:=]/iu,/-----BEGIN [A-Z ]*PRIVATE KEY-----/u,/\bsk-[A-Za-z0-9_-]{16,}\b/u,/\bgh[pousr]_[A-Za-z0-9_]{16,}\b/u];function s(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function c(e){for(let t of e){let e=t.codePointAt(0);if(e!==void 0&&(e<=31||e===127))return!0}return!1}function l(e){return o.some(t=>t.test(e))}function u(t,n,r=!0){if(typeof t!=`string`)throw Error(`${n} must be a string.`);let i=t.trim();if(!i&&r)throw Error(`${n} must not be empty.`);if(e.Buffer.byteLength(i,`utf8`)>4096||c(i))throw Error(`${n} exceeds the bounded Fable text limit or contains control characters.`);if(l(i))throw Error(`${n} appears to contain a credential.`);return i}function d(e,t,n=!0){if(!Array.isArray(e))throw Error(`${t} must be an array.`);if(e.length>24)throw Error(`${t} exceeds the bounded item limit.`);let r=e.map((e,n)=>u(e,`${t}[${n}]`));if(n&&r.length===0)throw Error(`${t} must contain at least one item.`);return r}function f(e,t){if(typeof e!=`string`)throw Error(`${t} must be a string.`);let n=e.trim();if(!n||n.length>512||c(n))throw Error(`${t} is not a safe source path.`);if(l(n))throw Error(`${t} appears to contain a credential.`);return n}function p(e){if(!Array.isArray(e))throw Error(`verifiedFindings must be an array.`);if(e.length>24)throw Error(`verifiedFindings exceeds the bounded item limit.`);return e.map((e,t)=>{if(!s(e))throw Error(`verifiedFindings[${t}] must be an object.`);if(Object.keys(e).some(e=>e!==`path`&&e!==`finding`))throw Error(`verifiedFindings[${t}] contains an unsupported field.`);return{path:f(e.path,`verifiedFindings[${t}].path`),finding:u(e.finding,`verifiedFindings[${t}].finding`)}})}function m(e,t,n){let r=new Set(t),i=Object.keys(e).find(e=>!r.has(e));if(i)throw Error(`${n} contains unsupported field '${i}'.`)}function h(t){if(!s(t))throw Error(`Fable packet must be an object.`);m(t,[`goal`,`constraints`,`decisions`,`verifiedFindings`,`inferredFindings`,`unresolvedQuestions`,`currentPlan`],`Fable packet`);let n={goal:d(t.goal,`goal`),constraints:d(t.constraints,`constraints`,!1),decisions:d(t.decisions,`decisions`,!1),verifiedFindings:p(t.verifiedFindings),inferredFindings:d(t.inferredFindings,`inferredFindings`,!1),unresolvedQuestions:d(t.unresolvedQuestions,`unresolvedQuestions`,!1),...t.currentPlan===void 0?{}:{currentPlan:u(t.currentPlan,`currentPlan`,!1)}};if(e.Buffer.byteLength(JSON.stringify(n),`utf8`)>32768)throw Error(`Fable packet exceeds the bounded packet size.`);return n}function g(e){return l([e.draft,e.review].filter(e=>e!==void 0).join(`
2
- `))?{operationId:e.operationId,status:`failed`,stage:`failed`,durationMs:e.durationMs,errorCode:`unsafe_output`}:e}function _(e,t){return{operationId:e,status:`timed_out`,stage:`interrupted`,durationMs:Math.max(0,Date.now()-t),errorCode:`timeout`}}function v(e){let o,s=(t=`Fable operation cancelled.`)=>{let n=o;if(n){if(!n.cancelSent){n.cancelSent=!0;try{e.broker?.cancel(n.operationId,t)}catch(t){e.onError?.(t)}}n.controller.abort(Error(t))}};return{run:async(c,l)=>{if(o)throw Error(`A Fable operation is already active for this session.`);if(!e.isAuthorized())throw Error(`The Fable capability profile is not authorized.`);let u=h(c),d=`fable-${(0,t.randomUUID)()}`,f=Date.now(),p=new AbortController;o={operationId:d,controller:p,cancelSent:!1},e.onStage?.(`draft`);let m=()=>p.abort(l?.reason);l&&(l.addEventListener(`abort`,m,{once:!0}),l.aborted&&m());let v={requester:n,operationId:d,runtime:r,model:i,profile:a,packet:u},y,b=!1;try{if(!e.broker)return _(d,f);let t=e.broker.start(v,p.signal),n=new Promise(e=>{p.signal.addEventListener(`abort`,()=>{b||e({operationId:d,status:`cancelled`,stage:`cancelled`,durationMs:Math.max(0,Date.now()-f),errorCode:`cancelled`})},{once:!0})}),r=e.timeoutMs===void 0?void 0:new Promise(t=>{y=setTimeout(()=>{b=!0,s(`Fable operation timed out.`),t(_(d,f))},e.timeoutMs)}),i=g(r===void 0?await Promise.race([t,n]):await Promise.race([t,r,n]));return e.onStage?.(i.status===`completed`?`completed`:i.status===`cancelled`?`cancelled`:i.stage),i}catch(t){e.onError?.(t);let n={operationId:d,status:`failed`,stage:`failed`,durationMs:Math.max(0,Date.now()-f),errorCode:`unavailable`};return e.onStage?.(`failed`),n}finally{y&&clearTimeout(y),l&&l.removeEventListener(`abort`,m),o=void 0}},cancel:s,isActive:()=>o!==void 0}}exports.FABLE_PLAN_MODEL=i,exports.FABLE_PLAN_PROFILE=a,exports.FABLE_PLAN_REQUESTER=n,exports.FABLE_PLAN_RUNTIME=r,exports.FABLE_PROVIDER_SOURCE=`@agimon-ai/doompi-team`,exports.MAX_FABLE_ARRAY_ITEMS=24,exports.MAX_FABLE_PACKET_BYTES=32768,exports.MAX_FABLE_TEXT_BYTES=4096,exports.containsSuspectedCredential=l,exports.createFablePlanFlow=v,exports.sanitizeFablePacket=h;
3
- //# sourceMappingURL=fableFlow.cjs.map
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./services/plan/fableFlow.cjs`);exports.FABLE_PLAN_MODEL=e.FABLE_PLAN_MODEL,exports.FABLE_PLAN_PROFILE=e.FABLE_PLAN_PROFILE,exports.FABLE_PLAN_REQUESTER=e.FABLE_PLAN_REQUESTER,exports.FABLE_PLAN_RUNTIME=e.FABLE_PLAN_RUNTIME,exports.FABLE_PROVIDER_SOURCE=e.FABLE_PROVIDER_SOURCE,exports.MAX_FABLE_ARRAY_ITEMS=e.MAX_FABLE_ARRAY_ITEMS,exports.MAX_FABLE_PACKET_BYTES=e.MAX_FABLE_PACKET_BYTES,exports.MAX_FABLE_TEXT_BYTES=e.MAX_FABLE_TEXT_BYTES,exports.containsSuspectedCredential=e.containsSuspectedCredential,exports.createFablePlanFlow=e.createFablePlanFlow,exports.sanitizeFablePacket=e.sanitizeFablePacket;
@@ -1,66 +1,2 @@
1
- //#region src/fableFlow.d.ts
2
- declare const FABLE_PROVIDER_SOURCE = "@agimon-ai/doompi-team";
3
- declare const FABLE_PLAN_REQUESTER = "@agimon-ai/doompi-plan";
4
- declare const FABLE_PLAN_RUNTIME = "claude";
5
- declare const FABLE_PLAN_MODEL = "fable";
6
- declare const FABLE_PLAN_PROFILE = "claude/fable-plan-v1";
7
- declare const MAX_FABLE_PACKET_BYTES: number;
8
- declare const MAX_FABLE_TEXT_BYTES: number;
9
- declare const MAX_FABLE_ARRAY_ITEMS = 24;
10
- interface FablePlanFinding {
11
- path: string;
12
- finding: string;
13
- }
14
- interface FablePlanPacket {
15
- goal: string[];
16
- constraints: string[];
17
- decisions: string[];
18
- verifiedFindings: FablePlanFinding[];
19
- inferredFindings: string[];
20
- unresolvedQuestions: string[];
21
- currentPlan?: string;
22
- }
23
- type FablePlanStatus = 'completed' | 'failed' | 'timed_out' | 'cancelled' | 'interrupted';
24
- type FablePlanStage = 'draft' | 'review' | 'completed' | 'failed' | 'cancelled' | 'interrupted';
25
- interface FablePlanResult {
26
- operationId: string;
27
- status: FablePlanStatus;
28
- stage: FablePlanStage;
29
- draft?: string;
30
- review?: string;
31
- draftRunId?: string;
32
- reviewRunId?: string;
33
- durationMs: number;
34
- errorCode?: string;
35
- }
36
- interface FablePlanRequest {
37
- requester: typeof FABLE_PLAN_REQUESTER;
38
- operationId: string;
39
- runtime: typeof FABLE_PLAN_RUNTIME;
40
- model: typeof FABLE_PLAN_MODEL;
41
- profile: typeof FABLE_PLAN_PROFILE;
42
- packet: FablePlanPacket;
43
- }
44
- interface FablePlanBroker {
45
- start(request: FablePlanRequest, signal: AbortSignal): Promise<FablePlanResult>;
46
- cancel(operationId: string, reason: string): void;
47
- }
48
- interface FableFlowOptions {
49
- broker?: FablePlanBroker;
50
- isAuthorized: () => boolean;
51
- timeoutMs?: number;
52
- onStage?: (stage: FableStage) => void;
53
- onError?: (error: unknown) => void;
54
- }
55
- type FableStage = 'idle' | 'draft' | 'review' | 'completed' | 'failed' | 'cancelled' | 'interrupted';
56
- interface FablePlanFlow {
57
- run(value: unknown, signal?: AbortSignal): Promise<FablePlanResult>;
58
- cancel(reason?: string): void;
59
- isActive(): boolean;
60
- }
61
- declare function containsSuspectedCredential(value: string): boolean;
62
- declare function sanitizeFablePacket(value: unknown): FablePlanPacket;
63
- declare function createFablePlanFlow(options: FableFlowOptions): FablePlanFlow;
64
- //#endregion
65
- export { FABLE_PLAN_MODEL, FABLE_PLAN_PROFILE, FABLE_PLAN_REQUESTER, FABLE_PLAN_RUNTIME, FABLE_PROVIDER_SOURCE, FableFlowOptions, FablePlanBroker, FablePlanFinding, FablePlanFlow, FablePlanPacket, FablePlanRequest, FablePlanResult, FablePlanStage, FablePlanStatus, FableStage, MAX_FABLE_ARRAY_ITEMS, MAX_FABLE_PACKET_BYTES, MAX_FABLE_TEXT_BYTES, containsSuspectedCredential, createFablePlanFlow, sanitizeFablePacket };
66
- //# sourceMappingURL=fableFlow.d.cts.map
1
+ import { FABLE_PLAN_MODEL, FABLE_PLAN_PROFILE, FABLE_PLAN_REQUESTER, FABLE_PLAN_RUNTIME, FABLE_PROVIDER_SOURCE, FableFlowOptions, FablePlanBroker, FablePlanFinding, FablePlanFlow, FablePlanPacket, FablePlanRequest, FablePlanResult, FablePlanStage, FablePlanStatus, FableStage, MAX_FABLE_ARRAY_ITEMS, MAX_FABLE_PACKET_BYTES, MAX_FABLE_TEXT_BYTES, containsSuspectedCredential, createFablePlanFlow, sanitizeFablePacket } from "./services/plan/fableFlow.cjs";
2
+ export { FABLE_PLAN_MODEL, FABLE_PLAN_PROFILE, FABLE_PLAN_REQUESTER, FABLE_PLAN_RUNTIME, FABLE_PROVIDER_SOURCE, FableFlowOptions, FablePlanBroker, FablePlanFinding, FablePlanFlow, FablePlanPacket, FablePlanRequest, FablePlanResult, FablePlanStage, FablePlanStatus, FableStage, MAX_FABLE_ARRAY_ITEMS, MAX_FABLE_PACKET_BYTES, MAX_FABLE_TEXT_BYTES, containsSuspectedCredential, createFablePlanFlow, sanitizeFablePacket };
@@ -1,66 +1,2 @@
1
- //#region src/fableFlow.d.ts
2
- declare const FABLE_PROVIDER_SOURCE = "@agimon-ai/doompi-team";
3
- declare const FABLE_PLAN_REQUESTER = "@agimon-ai/doompi-plan";
4
- declare const FABLE_PLAN_RUNTIME = "claude";
5
- declare const FABLE_PLAN_MODEL = "fable";
6
- declare const FABLE_PLAN_PROFILE = "claude/fable-plan-v1";
7
- declare const MAX_FABLE_PACKET_BYTES: number;
8
- declare const MAX_FABLE_TEXT_BYTES: number;
9
- declare const MAX_FABLE_ARRAY_ITEMS = 24;
10
- interface FablePlanFinding {
11
- path: string;
12
- finding: string;
13
- }
14
- interface FablePlanPacket {
15
- goal: string[];
16
- constraints: string[];
17
- decisions: string[];
18
- verifiedFindings: FablePlanFinding[];
19
- inferredFindings: string[];
20
- unresolvedQuestions: string[];
21
- currentPlan?: string;
22
- }
23
- type FablePlanStatus = 'completed' | 'failed' | 'timed_out' | 'cancelled' | 'interrupted';
24
- type FablePlanStage = 'draft' | 'review' | 'completed' | 'failed' | 'cancelled' | 'interrupted';
25
- interface FablePlanResult {
26
- operationId: string;
27
- status: FablePlanStatus;
28
- stage: FablePlanStage;
29
- draft?: string;
30
- review?: string;
31
- draftRunId?: string;
32
- reviewRunId?: string;
33
- durationMs: number;
34
- errorCode?: string;
35
- }
36
- interface FablePlanRequest {
37
- requester: typeof FABLE_PLAN_REQUESTER;
38
- operationId: string;
39
- runtime: typeof FABLE_PLAN_RUNTIME;
40
- model: typeof FABLE_PLAN_MODEL;
41
- profile: typeof FABLE_PLAN_PROFILE;
42
- packet: FablePlanPacket;
43
- }
44
- interface FablePlanBroker {
45
- start(request: FablePlanRequest, signal: AbortSignal): Promise<FablePlanResult>;
46
- cancel(operationId: string, reason: string): void;
47
- }
48
- interface FableFlowOptions {
49
- broker?: FablePlanBroker;
50
- isAuthorized: () => boolean;
51
- timeoutMs?: number;
52
- onStage?: (stage: FableStage) => void;
53
- onError?: (error: unknown) => void;
54
- }
55
- type FableStage = 'idle' | 'draft' | 'review' | 'completed' | 'failed' | 'cancelled' | 'interrupted';
56
- interface FablePlanFlow {
57
- run(value: unknown, signal?: AbortSignal): Promise<FablePlanResult>;
58
- cancel(reason?: string): void;
59
- isActive(): boolean;
60
- }
61
- declare function containsSuspectedCredential(value: string): boolean;
62
- declare function sanitizeFablePacket(value: unknown): FablePlanPacket;
63
- declare function createFablePlanFlow(options: FableFlowOptions): FablePlanFlow;
64
- //#endregion
65
- export { FABLE_PLAN_MODEL, FABLE_PLAN_PROFILE, FABLE_PLAN_REQUESTER, FABLE_PLAN_RUNTIME, FABLE_PROVIDER_SOURCE, FableFlowOptions, FablePlanBroker, FablePlanFinding, FablePlanFlow, FablePlanPacket, FablePlanRequest, FablePlanResult, FablePlanStage, FablePlanStatus, FableStage, MAX_FABLE_ARRAY_ITEMS, MAX_FABLE_PACKET_BYTES, MAX_FABLE_TEXT_BYTES, containsSuspectedCredential, createFablePlanFlow, sanitizeFablePacket };
66
- //# sourceMappingURL=fableFlow.d.mts.map
1
+ import { FABLE_PLAN_MODEL, FABLE_PLAN_PROFILE, FABLE_PLAN_REQUESTER, FABLE_PLAN_RUNTIME, FABLE_PROVIDER_SOURCE, FableFlowOptions, FablePlanBroker, FablePlanFinding, FablePlanFlow, FablePlanPacket, FablePlanRequest, FablePlanResult, FablePlanStage, FablePlanStatus, FableStage, MAX_FABLE_ARRAY_ITEMS, MAX_FABLE_PACKET_BYTES, MAX_FABLE_TEXT_BYTES, containsSuspectedCredential, createFablePlanFlow, sanitizeFablePacket } from "./services/plan/fableFlow.mjs";
2
+ export { FABLE_PLAN_MODEL, FABLE_PLAN_PROFILE, FABLE_PLAN_REQUESTER, FABLE_PLAN_RUNTIME, FABLE_PROVIDER_SOURCE, FableFlowOptions, FablePlanBroker, FablePlanFinding, FablePlanFlow, FablePlanPacket, FablePlanRequest, FablePlanResult, FablePlanStage, FablePlanStatus, FableStage, MAX_FABLE_ARRAY_ITEMS, MAX_FABLE_PACKET_BYTES, MAX_FABLE_TEXT_BYTES, containsSuspectedCredential, createFablePlanFlow, sanitizeFablePacket };
@@ -1,3 +1 @@
1
- import{Buffer as e}from"node:buffer";import{randomUUID as t}from"node:crypto";const n=`@agimon-ai/doompi-team`,r=`@agimon-ai/doompi-plan`,i=`claude`,a=`fable`,o=`claude/fable-plan-v1`,s=32*1024,c=4*1024,l=24,u=[/(?:api[_-]?key|access[_-]?token|client[_-]?secret|password|private[_-]?key|authorization|bearer)\s*[:=]/iu,/-----BEGIN [A-Z ]*PRIVATE KEY-----/u,/\bsk-[A-Za-z0-9_-]{16,}\b/u,/\bgh[pousr]_[A-Za-z0-9_]{16,}\b/u];function d(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function f(e){for(let t of e){let e=t.codePointAt(0);if(e!==void 0&&(e<=31||e===127))return!0}return!1}function p(e){return u.some(t=>t.test(e))}function m(t,n,r=!0){if(typeof t!=`string`)throw Error(`${n} must be a string.`);let i=t.trim();if(!i&&r)throw Error(`${n} must not be empty.`);if(e.byteLength(i,`utf8`)>4096||f(i))throw Error(`${n} exceeds the bounded Fable text limit or contains control characters.`);if(p(i))throw Error(`${n} appears to contain a credential.`);return i}function h(e,t,n=!0){if(!Array.isArray(e))throw Error(`${t} must be an array.`);if(e.length>24)throw Error(`${t} exceeds the bounded item limit.`);let r=e.map((e,n)=>m(e,`${t}[${n}]`));if(n&&r.length===0)throw Error(`${t} must contain at least one item.`);return r}function g(e,t){if(typeof e!=`string`)throw Error(`${t} must be a string.`);let n=e.trim();if(!n||n.length>512||f(n))throw Error(`${t} is not a safe source path.`);if(p(n))throw Error(`${t} appears to contain a credential.`);return n}function _(e){if(!Array.isArray(e))throw Error(`verifiedFindings must be an array.`);if(e.length>24)throw Error(`verifiedFindings exceeds the bounded item limit.`);return e.map((e,t)=>{if(!d(e))throw Error(`verifiedFindings[${t}] must be an object.`);if(Object.keys(e).some(e=>e!==`path`&&e!==`finding`))throw Error(`verifiedFindings[${t}] contains an unsupported field.`);return{path:g(e.path,`verifiedFindings[${t}].path`),finding:m(e.finding,`verifiedFindings[${t}].finding`)}})}function v(e,t,n){let r=new Set(t),i=Object.keys(e).find(e=>!r.has(e));if(i)throw Error(`${n} contains unsupported field '${i}'.`)}function y(t){if(!d(t))throw Error(`Fable packet must be an object.`);v(t,[`goal`,`constraints`,`decisions`,`verifiedFindings`,`inferredFindings`,`unresolvedQuestions`,`currentPlan`],`Fable packet`);let n={goal:h(t.goal,`goal`),constraints:h(t.constraints,`constraints`,!1),decisions:h(t.decisions,`decisions`,!1),verifiedFindings:_(t.verifiedFindings),inferredFindings:h(t.inferredFindings,`inferredFindings`,!1),unresolvedQuestions:h(t.unresolvedQuestions,`unresolvedQuestions`,!1),...t.currentPlan===void 0?{}:{currentPlan:m(t.currentPlan,`currentPlan`,!1)}};if(e.byteLength(JSON.stringify(n),`utf8`)>32768)throw Error(`Fable packet exceeds the bounded packet size.`);return n}function b(e){return p([e.draft,e.review].filter(e=>e!==void 0).join(`
2
- `))?{operationId:e.operationId,status:`failed`,stage:`failed`,durationMs:e.durationMs,errorCode:`unsafe_output`}:e}function x(e,t){return{operationId:e,status:`timed_out`,stage:`interrupted`,durationMs:Math.max(0,Date.now()-t),errorCode:`timeout`}}function S(e){let n,s=(t=`Fable operation cancelled.`)=>{let r=n;if(r){if(!r.cancelSent){r.cancelSent=!0;try{e.broker?.cancel(r.operationId,t)}catch(t){e.onError?.(t)}}r.controller.abort(Error(t))}};return{run:async(c,l)=>{if(n)throw Error(`A Fable operation is already active for this session.`);if(!e.isAuthorized())throw Error(`The Fable capability profile is not authorized.`);let u=y(c),d=`fable-${t()}`,f=Date.now(),p=new AbortController;n={operationId:d,controller:p,cancelSent:!1},e.onStage?.(`draft`);let m=()=>p.abort(l?.reason);l&&(l.addEventListener(`abort`,m,{once:!0}),l.aborted&&m());let h={requester:r,operationId:d,runtime:i,model:a,profile:o,packet:u},g,_=!1;try{if(!e.broker)return x(d,f);let t=e.broker.start(h,p.signal),n=new Promise(e=>{p.signal.addEventListener(`abort`,()=>{_||e({operationId:d,status:`cancelled`,stage:`cancelled`,durationMs:Math.max(0,Date.now()-f),errorCode:`cancelled`})},{once:!0})}),r=e.timeoutMs===void 0?void 0:new Promise(t=>{g=setTimeout(()=>{_=!0,s(`Fable operation timed out.`),t(x(d,f))},e.timeoutMs)}),i=b(r===void 0?await Promise.race([t,n]):await Promise.race([t,r,n]));return e.onStage?.(i.status===`completed`?`completed`:i.status===`cancelled`?`cancelled`:i.stage),i}catch(t){e.onError?.(t);let n={operationId:d,status:`failed`,stage:`failed`,durationMs:Math.max(0,Date.now()-f),errorCode:`unavailable`};return e.onStage?.(`failed`),n}finally{g&&clearTimeout(g),l&&l.removeEventListener(`abort`,m),n=void 0}},cancel:s,isActive:()=>n!==void 0}}export{a as FABLE_PLAN_MODEL,o as FABLE_PLAN_PROFILE,r as FABLE_PLAN_REQUESTER,i as FABLE_PLAN_RUNTIME,n as FABLE_PROVIDER_SOURCE,l as MAX_FABLE_ARRAY_ITEMS,s as MAX_FABLE_PACKET_BYTES,c as MAX_FABLE_TEXT_BYTES,p as containsSuspectedCredential,S as createFablePlanFlow,y as sanitizeFablePacket};
3
- //# sourceMappingURL=fableFlow.mjs.map
1
+ import{FABLE_PLAN_MODEL as e,FABLE_PLAN_PROFILE as t,FABLE_PLAN_REQUESTER as n,FABLE_PLAN_RUNTIME as r,FABLE_PROVIDER_SOURCE as i,MAX_FABLE_ARRAY_ITEMS as a,MAX_FABLE_PACKET_BYTES as o,MAX_FABLE_TEXT_BYTES as s,containsSuspectedCredential as c,createFablePlanFlow as l,sanitizeFablePacket as u}from"./services/plan/fableFlow.mjs";export{e as FABLE_PLAN_MODEL,t as FABLE_PLAN_PROFILE,n as FABLE_PLAN_REQUESTER,r as FABLE_PLAN_RUNTIME,i as FABLE_PROVIDER_SOURCE,a as MAX_FABLE_ARRAY_ITEMS,o as MAX_FABLE_PACKET_BYTES,s as MAX_FABLE_TEXT_BYTES,c as containsSuspectedCredential,l as createFablePlanFlow,u as sanitizeFablePacket};
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require(`./_virtual/_rolldown/runtime.cjs`);const e=require(`./config.cjs`),t=require(`./fableFlow.cjs`),n=require(`./prompts.cjs`),r=require(`./planMode.cjs`);let i=require(`@agimon-ai/doompi-config`);exports.FABLE_PLAN_MODEL=t.FABLE_PLAN_MODEL,exports.FABLE_PLAN_PROFILE=t.FABLE_PLAN_PROFILE,exports.FABLE_PLAN_REQUESTER=t.FABLE_PLAN_REQUESTER,exports.FABLE_PLAN_RUNTIME=t.FABLE_PLAN_RUNTIME,exports.FABLE_PROVIDER_SOURCE=t.FABLE_PROVIDER_SOURCE,exports.MAX_FABLE_ARRAY_ITEMS=t.MAX_FABLE_ARRAY_ITEMS,exports.MAX_FABLE_PACKET_BYTES=t.MAX_FABLE_PACKET_BYTES,exports.MAX_FABLE_TEXT_BYTES=t.MAX_FABLE_TEXT_BYTES,exports.WRITE_PLAN_TIMEOUT_MS=r.WRITE_PLAN_TIMEOUT_MS,exports.buildDebugPlanningPrompt=n.buildDebugPlanningPrompt,exports.buildFablePlanningPrompt=n.buildFablePlanningPrompt,exports.buildFlavorPlanningPrompt=n.buildFlavorPlanningPrompt,exports.buildNormalPlanningPrompt=n.buildNormalPlanningPrompt,exports.configurePlanningSubagentInput=r.configurePlanningSubagentInput,exports.configurePlanningTaskInput=r.configurePlanningTaskInput,exports.constrainSubagentInput=r.constrainSubagentInput,exports.containsSuspectedCredential=t.containsSuspectedCredential,exports.createFablePlanFlow=t.createFablePlanFlow,exports.createPlanIdentifier=r.createPlanIdentifier,exports.getHarnessState=i.getHarnessState,exports.globalDoomConfigPath=i.globalDoomConfigPath,exports.isBlockedSubagentManagementAction=r.isBlockedSubagentManagementAction,exports.loadDoomConfig=e.loadDoomConfig,exports.loadHarnessState=i.loadHarnessState,exports.loadPlanningModeConfig=r.loadPlanningModeConfig,exports.mergeDoomConfigs=e.mergeDoomConfigs,exports.parseDebugEvidencePacket=r.parseDebugEvidencePacket,exports.parseDoomConfig=e.parseDoomConfig,exports.parsePersistedPlanState=r.parsePersistedPlanState,exports.parsePlanningModeConfig=i.parsePlanningModeConfig,exports.planModeExtension=r.planModeExtension,exports.planModeTools=r.planModeTools,exports.planSessionIdentifier=r.planSessionIdentifier,exports.planTitleSlug=r.planTitleSlug,exports.planningSubagentModel=r.planningSubagentModel,exports.repositoryDoomConfigPath=i.repositoryDoomConfigPath,exports.resolvePlanningPlansDirectory=i.resolvePlanningPlansDirectory,exports.sanitizeFablePacket=t.sanitizeFablePacket,exports.visiblePlanForToolCall=r.visiblePlanForToolCall;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require(`./_virtual/_rolldown/runtime.cjs`);const e=require(`./schemas/plan/config.cjs`),t=require(`./services/plan/fableFlow.cjs`),n=require(`./services/plan/prompts.cjs`),r=require(`./services/plan/planMode.cjs`);let i=require(`@agimon-ai/doompi-config`);exports.FABLE_PLAN_MODEL=t.FABLE_PLAN_MODEL,exports.FABLE_PLAN_PROFILE=t.FABLE_PLAN_PROFILE,exports.FABLE_PLAN_REQUESTER=t.FABLE_PLAN_REQUESTER,exports.FABLE_PLAN_RUNTIME=t.FABLE_PLAN_RUNTIME,exports.FABLE_PROVIDER_SOURCE=t.FABLE_PROVIDER_SOURCE,exports.MAX_FABLE_ARRAY_ITEMS=t.MAX_FABLE_ARRAY_ITEMS,exports.MAX_FABLE_PACKET_BYTES=t.MAX_FABLE_PACKET_BYTES,exports.MAX_FABLE_TEXT_BYTES=t.MAX_FABLE_TEXT_BYTES,exports.WRITE_PLAN_TIMEOUT_MS=r.WRITE_PLAN_TIMEOUT_MS,exports.buildDebugPlanningPrompt=n.buildDebugPlanningPrompt,exports.buildFablePlanningPrompt=n.buildFablePlanningPrompt,exports.buildFlavorPlanningPrompt=n.buildFlavorPlanningPrompt,exports.buildNormalPlanningPrompt=n.buildNormalPlanningPrompt,exports.configurePlanningSubagentInput=r.configurePlanningSubagentInput,exports.configurePlanningTaskInput=r.configurePlanningTaskInput,exports.constrainSubagentInput=r.constrainSubagentInput,exports.containsSuspectedCredential=t.containsSuspectedCredential,exports.createFablePlanFlow=t.createFablePlanFlow,exports.createPlanIdentifier=r.createPlanIdentifier,exports.getHarnessState=i.getHarnessState,exports.globalDoomConfigPath=i.globalDoomConfigPath,exports.isBlockedSubagentManagementAction=r.isBlockedSubagentManagementAction,exports.loadDoomConfig=e.loadDoomConfig,exports.loadHarnessState=i.loadHarnessState,exports.loadPlanningModeConfig=r.loadPlanningModeConfig,exports.mergeDoomConfigs=e.mergeDoomConfigs,exports.parseDebugEvidencePacket=r.parseDebugEvidencePacket,exports.parseDoomConfig=e.parseDoomConfig,exports.parsePersistedPlanState=r.parsePersistedPlanState,exports.parsePlanningModeConfig=i.parsePlanningModeConfig,exports.planModeExtension=r.planModeExtension,exports.planModeTools=r.planModeTools,exports.planSessionIdentifier=r.planSessionIdentifier,exports.planTitleSlug=r.planTitleSlug,exports.planningSubagentModel=r.planningSubagentModel,exports.repositoryDoomConfigPath=i.repositoryDoomConfigPath,exports.resolvePlanningPlansDirectory=i.resolvePlanningPlansDirectory,exports.sanitizeFablePacket=t.sanitizeFablePacket,exports.visiblePlanForToolCall=r.visiblePlanForToolCall;
package/dist/index.d.cts CHANGED
@@ -1,5 +1,5 @@
1
- import { DoomConfig, PlanningAgentConfig, PlanningModeConfig, PlanningThinkingLevel, getHarnessState, globalDoomConfigPath, loadDoomConfig, loadHarnessState, mergeDoomConfigs, parseDoomConfig, parsePlanningModeConfig, repositoryDoomConfigPath, resolvePlanningPlansDirectory } from "./config.cjs";
2
- import { FABLE_PLAN_MODEL, FABLE_PLAN_PROFILE, FABLE_PLAN_REQUESTER, FABLE_PLAN_RUNTIME, FABLE_PROVIDER_SOURCE, FableFlowOptions, FablePlanBroker, FablePlanFinding, FablePlanFlow, FablePlanPacket, FablePlanRequest, FablePlanResult, FablePlanStage, FablePlanStatus, FableStage, MAX_FABLE_ARRAY_ITEMS, MAX_FABLE_PACKET_BYTES, MAX_FABLE_TEXT_BYTES, containsSuspectedCredential, createFablePlanFlow, sanitizeFablePacket } from "./fableFlow.cjs";
3
- import { DebugEvidencePacket, PlanningFlavor, buildDebugPlanningPrompt, buildFablePlanningPrompt, buildFlavorPlanningPrompt, buildNormalPlanningPrompt } from "./prompts.cjs";
4
- import { ModelIdentity, PlanModeExtensionOptions, PlanSnapshot, PlanningConfigProvider, WRITE_PLAN_TIMEOUT_MS, configurePlanningSubagentInput, configurePlanningTaskInput, constrainSubagentInput, createPlanIdentifier, isBlockedSubagentManagementAction, loadPlanningModeConfig, parseDebugEvidencePacket, parsePersistedPlanState, planModeExtension, planModeTools, planSessionIdentifier, planTitleSlug, planningSubagentModel, visiblePlanForToolCall } from "./planMode.cjs";
1
+ import { DoomConfig, PlanningAgentConfig, PlanningModeConfig, PlanningThinkingLevel, getHarnessState, globalDoomConfigPath, loadDoomConfig, loadHarnessState, mergeDoomConfigs, parseDoomConfig, parsePlanningModeConfig, repositoryDoomConfigPath, resolvePlanningPlansDirectory } from "./schemas/plan/config.cjs";
2
+ import { FABLE_PLAN_MODEL, FABLE_PLAN_PROFILE, FABLE_PLAN_REQUESTER, FABLE_PLAN_RUNTIME, FABLE_PROVIDER_SOURCE, FableFlowOptions, FablePlanBroker, FablePlanFinding, FablePlanFlow, FablePlanPacket, FablePlanRequest, FablePlanResult, FablePlanStage, FablePlanStatus, FableStage, MAX_FABLE_ARRAY_ITEMS, MAX_FABLE_PACKET_BYTES, MAX_FABLE_TEXT_BYTES, containsSuspectedCredential, createFablePlanFlow, sanitizeFablePacket } from "./services/plan/fableFlow.cjs";
3
+ import { DebugEvidencePacket, PlanningFlavor, buildDebugPlanningPrompt, buildFablePlanningPrompt, buildFlavorPlanningPrompt, buildNormalPlanningPrompt } from "./services/plan/prompts.cjs";
4
+ import { ModelIdentity, PlanModeExtensionOptions, PlanSnapshot, PlanningConfigProvider, WRITE_PLAN_TIMEOUT_MS, configurePlanningSubagentInput, configurePlanningTaskInput, constrainSubagentInput, createPlanIdentifier, isBlockedSubagentManagementAction, loadPlanningModeConfig, parseDebugEvidencePacket, parsePersistedPlanState, planModeExtension, planModeTools, planSessionIdentifier, planTitleSlug, planningSubagentModel, visiblePlanForToolCall } from "./services/plan/planMode.cjs";
5
5
  export { DebugEvidencePacket, DoomConfig, FABLE_PLAN_MODEL, FABLE_PLAN_PROFILE, FABLE_PLAN_REQUESTER, FABLE_PLAN_RUNTIME, FABLE_PROVIDER_SOURCE, FableFlowOptions, FablePlanBroker, FablePlanFinding, FablePlanFlow, FablePlanPacket, FablePlanRequest, FablePlanResult, FablePlanStage, FablePlanStatus, FableStage, MAX_FABLE_ARRAY_ITEMS, MAX_FABLE_PACKET_BYTES, MAX_FABLE_TEXT_BYTES, ModelIdentity, PlanModeExtensionOptions, PlanSnapshot, PlanningAgentConfig, PlanningConfigProvider, PlanningFlavor, PlanningModeConfig, PlanningThinkingLevel, WRITE_PLAN_TIMEOUT_MS, buildDebugPlanningPrompt, buildFablePlanningPrompt, buildFlavorPlanningPrompt, buildNormalPlanningPrompt, configurePlanningSubagentInput, configurePlanningTaskInput, constrainSubagentInput, containsSuspectedCredential, createFablePlanFlow, createPlanIdentifier, getHarnessState, globalDoomConfigPath, isBlockedSubagentManagementAction, loadDoomConfig, loadHarnessState, loadPlanningModeConfig, mergeDoomConfigs, parseDebugEvidencePacket, parseDoomConfig, parsePersistedPlanState, parsePlanningModeConfig, planModeExtension, planModeTools, planSessionIdentifier, planTitleSlug, planningSubagentModel, repositoryDoomConfigPath, resolvePlanningPlansDirectory, sanitizeFablePacket, visiblePlanForToolCall };
package/dist/index.d.mts CHANGED
@@ -1,5 +1,5 @@
1
- import { DoomConfig, PlanningAgentConfig, PlanningModeConfig, PlanningThinkingLevel, getHarnessState, globalDoomConfigPath, loadDoomConfig, loadHarnessState, mergeDoomConfigs, parseDoomConfig, parsePlanningModeConfig, repositoryDoomConfigPath, resolvePlanningPlansDirectory } from "./config.mjs";
2
- import { FABLE_PLAN_MODEL, FABLE_PLAN_PROFILE, FABLE_PLAN_REQUESTER, FABLE_PLAN_RUNTIME, FABLE_PROVIDER_SOURCE, FableFlowOptions, FablePlanBroker, FablePlanFinding, FablePlanFlow, FablePlanPacket, FablePlanRequest, FablePlanResult, FablePlanStage, FablePlanStatus, FableStage, MAX_FABLE_ARRAY_ITEMS, MAX_FABLE_PACKET_BYTES, MAX_FABLE_TEXT_BYTES, containsSuspectedCredential, createFablePlanFlow, sanitizeFablePacket } from "./fableFlow.mjs";
3
- import { DebugEvidencePacket, PlanningFlavor, buildDebugPlanningPrompt, buildFablePlanningPrompt, buildFlavorPlanningPrompt, buildNormalPlanningPrompt } from "./prompts.mjs";
4
- import { ModelIdentity, PlanModeExtensionOptions, PlanSnapshot, PlanningConfigProvider, WRITE_PLAN_TIMEOUT_MS, configurePlanningSubagentInput, configurePlanningTaskInput, constrainSubagentInput, createPlanIdentifier, isBlockedSubagentManagementAction, loadPlanningModeConfig, parseDebugEvidencePacket, parsePersistedPlanState, planModeExtension, planModeTools, planSessionIdentifier, planTitleSlug, planningSubagentModel, visiblePlanForToolCall } from "./planMode.mjs";
1
+ import { DoomConfig, PlanningAgentConfig, PlanningModeConfig, PlanningThinkingLevel, getHarnessState, globalDoomConfigPath, loadDoomConfig, loadHarnessState, mergeDoomConfigs, parseDoomConfig, parsePlanningModeConfig, repositoryDoomConfigPath, resolvePlanningPlansDirectory } from "./schemas/plan/config.mjs";
2
+ import { FABLE_PLAN_MODEL, FABLE_PLAN_PROFILE, FABLE_PLAN_REQUESTER, FABLE_PLAN_RUNTIME, FABLE_PROVIDER_SOURCE, FableFlowOptions, FablePlanBroker, FablePlanFinding, FablePlanFlow, FablePlanPacket, FablePlanRequest, FablePlanResult, FablePlanStage, FablePlanStatus, FableStage, MAX_FABLE_ARRAY_ITEMS, MAX_FABLE_PACKET_BYTES, MAX_FABLE_TEXT_BYTES, containsSuspectedCredential, createFablePlanFlow, sanitizeFablePacket } from "./services/plan/fableFlow.mjs";
3
+ import { DebugEvidencePacket, PlanningFlavor, buildDebugPlanningPrompt, buildFablePlanningPrompt, buildFlavorPlanningPrompt, buildNormalPlanningPrompt } from "./services/plan/prompts.mjs";
4
+ import { ModelIdentity, PlanModeExtensionOptions, PlanSnapshot, PlanningConfigProvider, WRITE_PLAN_TIMEOUT_MS, configurePlanningSubagentInput, configurePlanningTaskInput, constrainSubagentInput, createPlanIdentifier, isBlockedSubagentManagementAction, loadPlanningModeConfig, parseDebugEvidencePacket, parsePersistedPlanState, planModeExtension, planModeTools, planSessionIdentifier, planTitleSlug, planningSubagentModel, visiblePlanForToolCall } from "./services/plan/planMode.mjs";
5
5
  export { DebugEvidencePacket, DoomConfig, FABLE_PLAN_MODEL, FABLE_PLAN_PROFILE, FABLE_PLAN_REQUESTER, FABLE_PLAN_RUNTIME, FABLE_PROVIDER_SOURCE, FableFlowOptions, FablePlanBroker, FablePlanFinding, FablePlanFlow, FablePlanPacket, FablePlanRequest, FablePlanResult, FablePlanStage, FablePlanStatus, FableStage, MAX_FABLE_ARRAY_ITEMS, MAX_FABLE_PACKET_BYTES, MAX_FABLE_TEXT_BYTES, ModelIdentity, PlanModeExtensionOptions, PlanSnapshot, PlanningAgentConfig, PlanningConfigProvider, PlanningFlavor, PlanningModeConfig, PlanningThinkingLevel, WRITE_PLAN_TIMEOUT_MS, buildDebugPlanningPrompt, buildFablePlanningPrompt, buildFlavorPlanningPrompt, buildNormalPlanningPrompt, configurePlanningSubagentInput, configurePlanningTaskInput, constrainSubagentInput, containsSuspectedCredential, createFablePlanFlow, createPlanIdentifier, getHarnessState, globalDoomConfigPath, isBlockedSubagentManagementAction, loadDoomConfig, loadHarnessState, loadPlanningModeConfig, mergeDoomConfigs, parseDebugEvidencePacket, parseDoomConfig, parsePersistedPlanState, parsePlanningModeConfig, planModeExtension, planModeTools, planSessionIdentifier, planTitleSlug, planningSubagentModel, repositoryDoomConfigPath, resolvePlanningPlansDirectory, sanitizeFablePacket, visiblePlanForToolCall };
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- import{getHarnessState as e,globalDoomConfigPath as t,loadDoomConfig as n,loadHarnessState as r,mergeDoomConfigs as i,parseDoomConfig as a,parsePlanningModeConfig as o,repositoryDoomConfigPath as s,resolvePlanningPlansDirectory as c}from"./config.mjs";import{FABLE_PLAN_MODEL as l,FABLE_PLAN_PROFILE as u,FABLE_PLAN_REQUESTER as d,FABLE_PLAN_RUNTIME as f,FABLE_PROVIDER_SOURCE as p,MAX_FABLE_ARRAY_ITEMS as m,MAX_FABLE_PACKET_BYTES as h,MAX_FABLE_TEXT_BYTES as g,containsSuspectedCredential as _,createFablePlanFlow as v,sanitizeFablePacket as y}from"./fableFlow.mjs";import{buildDebugPlanningPrompt as b,buildFablePlanningPrompt as x,buildFlavorPlanningPrompt as S,buildNormalPlanningPrompt as C}from"./prompts.mjs";import{WRITE_PLAN_TIMEOUT_MS as w,configurePlanningSubagentInput as T,configurePlanningTaskInput as E,constrainSubagentInput as D,createPlanIdentifier as O,isBlockedSubagentManagementAction as k,loadPlanningModeConfig as A,parseDebugEvidencePacket as j,parsePersistedPlanState as M,planModeExtension as N,planModeTools as P,planSessionIdentifier as F,planTitleSlug as I,planningSubagentModel as L,visiblePlanForToolCall as R}from"./planMode.mjs";export{l as FABLE_PLAN_MODEL,u as FABLE_PLAN_PROFILE,d as FABLE_PLAN_REQUESTER,f as FABLE_PLAN_RUNTIME,p as FABLE_PROVIDER_SOURCE,m as MAX_FABLE_ARRAY_ITEMS,h as MAX_FABLE_PACKET_BYTES,g as MAX_FABLE_TEXT_BYTES,w as WRITE_PLAN_TIMEOUT_MS,b as buildDebugPlanningPrompt,x as buildFablePlanningPrompt,S as buildFlavorPlanningPrompt,C as buildNormalPlanningPrompt,T as configurePlanningSubagentInput,E as configurePlanningTaskInput,D as constrainSubagentInput,_ as containsSuspectedCredential,v as createFablePlanFlow,O as createPlanIdentifier,e as getHarnessState,t as globalDoomConfigPath,k as isBlockedSubagentManagementAction,n as loadDoomConfig,r as loadHarnessState,A as loadPlanningModeConfig,i as mergeDoomConfigs,j as parseDebugEvidencePacket,a as parseDoomConfig,M as parsePersistedPlanState,o as parsePlanningModeConfig,N as planModeExtension,P as planModeTools,F as planSessionIdentifier,I as planTitleSlug,L as planningSubagentModel,s as repositoryDoomConfigPath,c as resolvePlanningPlansDirectory,y as sanitizeFablePacket,R as visiblePlanForToolCall};
1
+ import{getHarnessState as e,globalDoomConfigPath as t,loadDoomConfig as n,loadHarnessState as r,mergeDoomConfigs as i,parseDoomConfig as a,parsePlanningModeConfig as o,repositoryDoomConfigPath as s,resolvePlanningPlansDirectory as c}from"./schemas/plan/config.mjs";import{FABLE_PLAN_MODEL as l,FABLE_PLAN_PROFILE as u,FABLE_PLAN_REQUESTER as d,FABLE_PLAN_RUNTIME as f,FABLE_PROVIDER_SOURCE as p,MAX_FABLE_ARRAY_ITEMS as m,MAX_FABLE_PACKET_BYTES as h,MAX_FABLE_TEXT_BYTES as g,containsSuspectedCredential as _,createFablePlanFlow as v,sanitizeFablePacket as y}from"./services/plan/fableFlow.mjs";import{buildDebugPlanningPrompt as b,buildFablePlanningPrompt as x,buildFlavorPlanningPrompt as S,buildNormalPlanningPrompt as C}from"./services/plan/prompts.mjs";import{WRITE_PLAN_TIMEOUT_MS as w,configurePlanningSubagentInput as T,configurePlanningTaskInput as E,constrainSubagentInput as D,createPlanIdentifier as O,isBlockedSubagentManagementAction as k,loadPlanningModeConfig as A,parseDebugEvidencePacket as j,parsePersistedPlanState as M,planModeExtension as N,planModeTools as P,planSessionIdentifier as F,planTitleSlug as I,planningSubagentModel as L,visiblePlanForToolCall as R}from"./services/plan/planMode.mjs";export{l as FABLE_PLAN_MODEL,u as FABLE_PLAN_PROFILE,d as FABLE_PLAN_REQUESTER,f as FABLE_PLAN_RUNTIME,p as FABLE_PROVIDER_SOURCE,m as MAX_FABLE_ARRAY_ITEMS,h as MAX_FABLE_PACKET_BYTES,g as MAX_FABLE_TEXT_BYTES,w as WRITE_PLAN_TIMEOUT_MS,b as buildDebugPlanningPrompt,x as buildFablePlanningPrompt,S as buildFlavorPlanningPrompt,C as buildNormalPlanningPrompt,T as configurePlanningSubagentInput,E as configurePlanningTaskInput,D as constrainSubagentInput,_ as containsSuspectedCredential,v as createFablePlanFlow,O as createPlanIdentifier,e as getHarnessState,t as globalDoomConfigPath,k as isBlockedSubagentManagementAction,n as loadDoomConfig,r as loadHarnessState,A as loadPlanningModeConfig,i as mergeDoomConfigs,j as parseDebugEvidencePacket,a as parseDoomConfig,M as parsePersistedPlanState,o as parsePlanningModeConfig,N as planModeExtension,P as planModeTools,F as planSessionIdentifier,I as planTitleSlug,L as planningSubagentModel,s as repositoryDoomConfigPath,c as resolvePlanningPlansDirectory,y as sanitizeFablePacket,R as visiblePlanForToolCall};
@@ -1,2 +1 @@
1
- require(`./_virtual/_rolldown/runtime.cjs`);let e=require(`@agimon-ai/doompi-telemetry`);const t={configLoadFailed:`doom_plan.config_load_failed`,writePlanFailed:`doom_plan.write_plan_failed`,writePlanTimedOut:`doom_plan.write_plan_timed_out`,writePlanUnsafePath:`doom_plan.write_plan_unsafe_path`,modelResolveFailed:`doom_plan.model_resolve_failed`,modeEnabled:`doom_plan.mode_enabled`,modeDisabled:`doom_plan.mode_disabled`,planWritten:`doom_plan.plan_written`,planReviewCompleted:`doom_plan.plan_review_completed`};function n(t={}){let n=(0,e.createDoomTelemetry)({serviceName:`doom-plan`,packageName:`@agimon-ai/doompi-plan`,cwd:t.cwd,workspaceRoot:t.workspaceRoot,env:t.env,telemetryFactory:t.telemetryFactory,warn:t.warn,enableLogs:!0,enableTraces:!0});return{recordError:(e,t,r)=>n.recordError(e,t,r),recordWarning:(e,t,r)=>n.recordWarning(e,t,r),recordEvent:(e,t)=>n.recordEvent(e,t),flush:()=>n.flush(),shutdown:()=>n.shutdown()}}exports.PLAN_EVENT=t,exports.createPlanTelemetry=n;
2
- //# sourceMappingURL=logSinkTelemetry.cjs.map
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./adapters/telemetry/logSinkTelemetry.cjs`);exports.PLAN_EVENT=e.PLAN_EVENT,exports.createPlanTelemetry=e.createPlanTelemetry;
@@ -1,24 +1,2 @@
1
- //#region src/logSinkTelemetry.d.ts
2
- declare const PLAN_EVENT: {
3
- readonly configLoadFailed: "doom_plan.config_load_failed";
4
- readonly writePlanFailed: "doom_plan.write_plan_failed";
5
- readonly writePlanTimedOut: "doom_plan.write_plan_timed_out";
6
- readonly writePlanUnsafePath: "doom_plan.write_plan_unsafe_path";
7
- readonly modelResolveFailed: "doom_plan.model_resolve_failed";
8
- readonly modeEnabled: "doom_plan.mode_enabled";
9
- readonly modeDisabled: "doom_plan.mode_disabled";
10
- readonly planWritten: "doom_plan.plan_written";
11
- readonly planReviewCompleted: "doom_plan.plan_review_completed";
12
- };
13
- type PlanEventName = (typeof PLAN_EVENT)[keyof typeof PLAN_EVENT];
14
- type PlanEventAttributes = Record<string, string | number | boolean>;
15
- interface PlanTelemetry {
16
- recordError(event: PlanEventName, error: unknown, attributes?: PlanEventAttributes): Promise<void>;
17
- recordWarning(event: PlanEventName, error: unknown, attributes?: PlanEventAttributes): Promise<void>;
18
- recordEvent(event: PlanEventName, attributes?: PlanEventAttributes): Promise<void>;
19
- flush(): Promise<void>;
20
- shutdown(): Promise<void>;
21
- }
22
- //#endregion
23
- export { PlanTelemetry };
24
- //# sourceMappingURL=logSinkTelemetry.d.cts.map
1
+ import { PLAN_EVENT, PlanEventAttributes, PlanEventName, PlanTelemetry, PlanTelemetryOptions, createPlanTelemetry } from "./adapters/telemetry/logSinkTelemetry.cjs";
2
+ export { PLAN_EVENT, PlanEventAttributes, PlanEventName, PlanTelemetry, PlanTelemetryOptions, createPlanTelemetry };
@@ -1,24 +1,2 @@
1
- //#region src/logSinkTelemetry.d.ts
2
- declare const PLAN_EVENT: {
3
- readonly configLoadFailed: "doom_plan.config_load_failed";
4
- readonly writePlanFailed: "doom_plan.write_plan_failed";
5
- readonly writePlanTimedOut: "doom_plan.write_plan_timed_out";
6
- readonly writePlanUnsafePath: "doom_plan.write_plan_unsafe_path";
7
- readonly modelResolveFailed: "doom_plan.model_resolve_failed";
8
- readonly modeEnabled: "doom_plan.mode_enabled";
9
- readonly modeDisabled: "doom_plan.mode_disabled";
10
- readonly planWritten: "doom_plan.plan_written";
11
- readonly planReviewCompleted: "doom_plan.plan_review_completed";
12
- };
13
- type PlanEventName = (typeof PLAN_EVENT)[keyof typeof PLAN_EVENT];
14
- type PlanEventAttributes = Record<string, string | number | boolean>;
15
- interface PlanTelemetry {
16
- recordError(event: PlanEventName, error: unknown, attributes?: PlanEventAttributes): Promise<void>;
17
- recordWarning(event: PlanEventName, error: unknown, attributes?: PlanEventAttributes): Promise<void>;
18
- recordEvent(event: PlanEventName, attributes?: PlanEventAttributes): Promise<void>;
19
- flush(): Promise<void>;
20
- shutdown(): Promise<void>;
21
- }
22
- //#endregion
23
- export { PlanTelemetry };
24
- //# sourceMappingURL=logSinkTelemetry.d.mts.map
1
+ import { PLAN_EVENT, PlanEventAttributes, PlanEventName, PlanTelemetry, PlanTelemetryOptions, createPlanTelemetry } from "./adapters/telemetry/logSinkTelemetry.mjs";
2
+ export { PLAN_EVENT, PlanEventAttributes, PlanEventName, PlanTelemetry, PlanTelemetryOptions, createPlanTelemetry };
@@ -1,2 +1 @@
1
- import{createDoomTelemetry as e}from"@agimon-ai/doompi-telemetry";const t={configLoadFailed:`doom_plan.config_load_failed`,writePlanFailed:`doom_plan.write_plan_failed`,writePlanTimedOut:`doom_plan.write_plan_timed_out`,writePlanUnsafePath:`doom_plan.write_plan_unsafe_path`,modelResolveFailed:`doom_plan.model_resolve_failed`,modeEnabled:`doom_plan.mode_enabled`,modeDisabled:`doom_plan.mode_disabled`,planWritten:`doom_plan.plan_written`,planReviewCompleted:`doom_plan.plan_review_completed`};function n(t={}){let n=e({serviceName:`doom-plan`,packageName:`@agimon-ai/doompi-plan`,cwd:t.cwd,workspaceRoot:t.workspaceRoot,env:t.env,telemetryFactory:t.telemetryFactory,warn:t.warn,enableLogs:!0,enableTraces:!0});return{recordError:(e,t,r)=>n.recordError(e,t,r),recordWarning:(e,t,r)=>n.recordWarning(e,t,r),recordEvent:(e,t)=>n.recordEvent(e,t),flush:()=>n.flush(),shutdown:()=>n.shutdown()}}export{t as PLAN_EVENT,n as createPlanTelemetry};
2
- //# sourceMappingURL=logSinkTelemetry.mjs.map
1
+ import{PLAN_EVENT as e,createPlanTelemetry as t}from"./adapters/telemetry/logSinkTelemetry.mjs";export{e as PLAN_EVENT,t as createPlanTelemetry};
@@ -1,2 +1 @@
1
- require(`./_virtual/_rolldown/runtime.cjs`);let e=require(`@agimon-ai/doompi-config`),t=require(`@agimon-ai/doompi-ui/config`);const n=`planning`,r=[`modes`,n],i=`main`,a=`subagents`,o=`inherit the session model`,s=`inherit`,c=[{id:`main.model`,label:`main model`,keyPath:[...r,i,`model`],placeholder:o,detail:`Model the main agent switches to while plan mode is on.`,read:e=>e?.main?.model},{id:`main.thinking`,label:`main thinking`,keyPath:[...r,i,`thinking`],placeholder:s,detail:`Thinking level appended to the main model while planning.`,options:e.DOOM_PLANNING_THINKING_LEVELS,read:e=>e?.main?.thinking},{id:`subagents.model`,label:`subagent model`,keyPath:[...r,a,`model`],placeholder:o,detail:`Model forced onto delegated planning subagents.`,read:e=>e?.subagents?.model},{id:`subagents.thinking`,label:`subagent thinking`,keyPath:[...r,a,`thinking`],placeholder:s,detail:`Thinking level appended to the subagent model.`,options:e.DOOM_PLANNING_THINKING_LEVELS,read:e=>e?.subagents?.thinking},{id:`plansdirectory`,label:`plans directory`,keyPath:[...r,`plansDirectory`],placeholder:`~/.pi/plans`,detail:`Absolute, repo-relative, or under ~. Written plans land here.`,read:e=>e?.plansDirectory}];function l(e){return c.find(t=>t.id===e)}function u(e){return e.options?.map(e=>({id:e,label:e,action:t.CONFIG_ACTION.set}))}function d(e,t){return[{id:n,title:`planning`,order:30,detail:`plan mode`,fields:c.map(t=>{let n=t.read(e),r=u(t);return{id:t.id,label:t.label,kind:r?`enum`:`text`,keyPath:t.keyPath.join(`.`),placeholder:t.placeholder,detail:t.detail,...n?{value:n}:{},...r?{choices:r}:{}}}),...t?{notice:t,noticeLevel:`error`}:{}}]}exports.planConfigSections=d,exports.planSettingByFieldId=l;
2
- //# sourceMappingURL=planConfig.cjs.map
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./schemas/plan/planConfig.cjs`);exports.PLAN_CONFIG_SECTION_ID=e.PLAN_CONFIG_SECTION_ID,exports.PLAN_SETTINGS=e.PLAN_SETTINGS,exports.planConfigSections=e.planConfigSections,exports.planSettingByFieldId=e.planSettingByFieldId;
@@ -0,0 +1,2 @@
1
+ import { PLAN_CONFIG_SECTION_ID, PLAN_SETTINGS, planConfigSections, planSettingByFieldId } from "./schemas/plan/planConfig.cjs";
2
+ export { PLAN_CONFIG_SECTION_ID, PLAN_SETTINGS, planConfigSections, planSettingByFieldId };