@dendelion/paper-camp 0.38.0 → 0.41.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. package/dist/chunks/{daemon-state.BeDnhzBY.js → daemon-state.Evil_jr0.js} +93 -104
  2. package/dist/chunks/daemon-state.Evil_jr0.js.map +1 -0
  3. package/dist/chunks/needs.CUNwDixH.js +3516 -0
  4. package/dist/chunks/needs.CUNwDixH.js.map +1 -0
  5. package/dist/cli/index.js +4556 -4296
  6. package/dist/cli/index.js.map +1 -1
  7. package/dist/core/chat-file.d.ts +1 -0
  8. package/dist/core/chat-file.d.ts.map +1 -1
  9. package/dist/core/ci/ci-release.d.ts +5 -0
  10. package/dist/core/ci/ci-release.d.ts.map +1 -1
  11. package/dist/core/daemon-state/daemon-state.d.ts +3 -11
  12. package/dist/core/daemon-state/daemon-state.d.ts.map +1 -1
  13. package/dist/core/decision-text.d.ts +9 -0
  14. package/dist/core/decision-text.d.ts.map +1 -0
  15. package/dist/core/decision-text.test.d.ts +2 -0
  16. package/dist/core/decision-text.test.d.ts.map +1 -0
  17. package/dist/core/desk-discovery/evidence.d.ts +1 -0
  18. package/dist/core/desk-discovery/evidence.d.ts.map +1 -1
  19. package/dist/core/doctor/checks/structural.d.ts.map +1 -1
  20. package/dist/core/doctor/checks/tooling.d.ts.map +1 -1
  21. package/dist/core/doctor/doctor.d.ts +2 -0
  22. package/dist/core/doctor/doctor.d.ts.map +1 -1
  23. package/dist/core/doctor/fix.d.ts +1 -1
  24. package/dist/core/doctor/fix.d.ts.map +1 -1
  25. package/dist/core/doctor/rules.d.ts +15 -0
  26. package/dist/core/doctor/rules.d.ts.map +1 -1
  27. package/dist/core/entity-view.d.ts.map +1 -1
  28. package/dist/core/index.d.ts +1 -0
  29. package/dist/core/index.d.ts.map +1 -1
  30. package/dist/core/index.js +192 -178
  31. package/dist/core/needs-status.d.ts +4 -0
  32. package/dist/core/needs-status.d.ts.map +1 -0
  33. package/dist/core/needs.d.ts +32 -0
  34. package/dist/core/needs.d.ts.map +1 -0
  35. package/dist/core/needs.test.d.ts +2 -0
  36. package/dist/core/needs.test.d.ts.map +1 -0
  37. package/dist/core/parked-questions.d.ts +0 -1
  38. package/dist/core/parked-questions.d.ts.map +1 -1
  39. package/dist/core/parse/parser.d.ts.map +1 -1
  40. package/dist/core/parse/schemas.d.ts +4 -0
  41. package/dist/core/parse/schemas.d.ts.map +1 -1
  42. package/dist/core/roadmap.d.ts.map +1 -1
  43. package/dist/core/run-filters.d.ts +2 -0
  44. package/dist/core/run-filters.d.ts.map +1 -1
  45. package/dist/core/run-order.d.ts +5 -1
  46. package/dist/core/run-order.d.ts.map +1 -1
  47. package/dist/core/run-rows.d.ts.map +1 -1
  48. package/dist/core/scaffold/scaffold.d.ts +1 -0
  49. package/dist/core/scaffold/scaffold.d.ts.map +1 -1
  50. package/dist/core/scaffold/templates.d.ts +6 -0
  51. package/dist/core/scaffold/templates.d.ts.map +1 -1
  52. package/dist/core/sections.d.ts.map +1 -1
  53. package/dist/core/sections.test.d.ts +2 -0
  54. package/dist/core/sections.test.d.ts.map +1 -0
  55. package/dist/core/serialize/entity-file.d.ts +6 -2
  56. package/dist/core/serialize/entity-file.d.ts.map +1 -1
  57. package/dist/core/status/status.d.ts.map +1 -1
  58. package/dist/toolbar/toolbar.js +3323 -3318
  59. package/dist/toolbar/toolbar.js.map +1 -1
  60. package/dist/types/index.d.ts +59 -0
  61. package/dist/types/index.d.ts.map +1 -1
  62. package/dist/types/index.js +16 -15
  63. package/dist/types/index.js.map +1 -1
  64. package/dist/vite/index.js +1 -1
  65. package/package.json +6 -2
  66. package/dist/chunks/daemon-state.BeDnhzBY.js.map +0 -1
  67. package/dist/chunks/phase-progress.6zt0NNtr.js +0 -3140
  68. package/dist/chunks/phase-progress.6zt0NNtr.js.map +0 -1
@@ -1,6 +1,7 @@
1
1
  import { ThreadMessage } from '../types/index';
2
2
  export declare function parseChatFile(content: string): ThreadMessage[];
3
3
  export declare function formatChatFile(messages: ThreadMessage[]): string;
4
+ export declare function isUnansweredQuestion(message: ThreadMessage): boolean;
4
5
  /** Trims to the last 50 messages and to nothing older than 14 days, whichever leaves
5
6
  * fewer, but keeps every unanswered question regardless of age or position — it is
6
7
  * the one inbox for the agent's questions and a trim must never silently drop one. */
@@ -1 +1 @@
1
- {"version":3,"file":"chat-file.d.ts","sourceRoot":"","sources":["../../src/core/chat-file.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAMpD,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,EAAE,CAG9D;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,aAAa,EAAE,GAAG,MAAM,CAGhE;AAMD;;sFAEsF;AACtF,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,aAAa,EAAE,EAAE,GAAG,EAAE,IAAI,GAAG,aAAa,EAAE,CAUtF;AAED,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,aAAa,EACtB,GAAG,GAAE,IAAiB,GACrB,MAAM,CAER"}
1
+ {"version":3,"file":"chat-file.d.ts","sourceRoot":"","sources":["../../src/core/chat-file.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAMpD,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,EAAE,CAG9D;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,aAAa,EAAE,GAAG,MAAM,CAGhE;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAEpE;AAED;;sFAEsF;AACtF,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,aAAa,EAAE,EAAE,GAAG,EAAE,IAAI,GAAG,aAAa,EAAE,CAUtF;AAED,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,aAAa,EACtB,GAAG,GAAE,IAAiB,GACrB,MAAM,CAER"}
@@ -20,6 +20,9 @@ interface GhPrRow {
20
20
  name: string;
21
21
  }[];
22
22
  }
23
+ interface GhSecretRow {
24
+ name: string;
25
+ }
23
26
  export declare function mapRunStatus(status: string, conclusion: string): CiRunStatus;
24
27
  export declare function parseVersion(text: string): string | null;
25
28
  export declare function latestRunPerWorkflow(rows: GhRunRow[], branch: string): (CiRun & {
@@ -27,6 +30,8 @@ export declare function latestRunPerWorkflow(rows: GhRunRow[], branch: string):
27
30
  })[];
28
31
  export declare function failedJobNames(jobs: GhJobRow[]): string[];
29
32
  export declare function pickReleasePr(rows: GhPrRow[]): ReleasePr | null;
33
+ export declare function latestDraftPrRun(rows: GhRunRow[]): CiRun | null;
34
+ export declare function hasSecret(rows: GhSecretRow[], name: string): boolean;
30
35
  export declare function clearCiCache(): void;
31
36
  export declare function fetchCiReleaseState(ci: DeskCi, ttlMs?: number): Promise<CiReleaseState>;
32
37
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"ci-release.d.ts","sourceRoot":"","sources":["../../../src/core/ci/ci-release.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAK/F,UAAU,QAAQ;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,UAAU,QAAQ;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,UAAU,OAAO;IACf,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAC5B;AA2CD,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,WAAW,CAqB5E;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAGxD;AAED,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,QAAQ,EAAE,EAChB,MAAM,EAAE,MAAM,GACb,CAAC,KAAK,GAAG;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,EAAE,CAchC;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,MAAM,EAAE,CAEzD;AAyBD,wBAAgB,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,SAAS,GAAG,IAAI,CAa/D;AAID,wBAAgB,YAAY,IAAI,IAAI,CAEnC;AAED,wBAAsB,mBAAmB,CACvC,EAAE,EAAE,MAAM,EACV,KAAK,SAAkB,GACtB,OAAO,CAAC,cAAc,CAAC,CAkDzB"}
1
+ {"version":3,"file":"ci-release.d.ts","sourceRoot":"","sources":["../../../src/core/ci/ci-release.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,cAAc,EACd,KAAK,EACL,WAAW,EACX,MAAM,EAEN,SAAS,EACV,MAAM,mBAAmB,CAAC;AAO3B,UAAU,QAAQ;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,UAAU,QAAQ;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,UAAU,OAAO;IACf,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAC5B;AAOD,UAAU,WAAW;IACnB,IAAI,EAAE,MAAM,CAAC;CACd;AAsCD,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,WAAW,CAqB5E;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAGxD;AAED,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,QAAQ,EAAE,EAChB,MAAM,EAAE,MAAM,GACb,CAAC,KAAK,GAAG;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,EAAE,CAchC;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,MAAM,EAAE,CAEzD;AAyBD,wBAAgB,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,SAAS,GAAG,IAAI,CAa/D;AAID,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,KAAK,GAAG,IAAI,CAQ/D;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAEpE;AAID,wBAAgB,YAAY,IAAI,IAAI,CAEnC;AAED,wBAAsB,mBAAmB,CACvC,EAAE,EAAE,MAAM,EACV,KAAK,SAAkB,GACtB,OAAO,CAAC,cAAc,CAAC,CA4EzB"}
@@ -1,11 +1,4 @@
1
1
  import { MachineNightGateResponse, MachineProjectSummary } from '../../types/index';
2
- export interface DaemonLinks {
3
- host: string;
4
- network?: string;
5
- tailnet?: string;
6
- tunnel?: string;
7
- }
8
- export declare function qrEligibleLink(links: DaemonLinks): string | undefined;
9
2
  export type UpdateEvent = {
10
3
  kind: 'hooked';
11
4
  version: string;
@@ -26,7 +19,7 @@ export interface DaemonState {
26
19
  tailnet: boolean;
27
20
  updateEvent?: UpdateEvent;
28
21
  updatePendingVersion?: string | null;
29
- links?: DaemonLinks;
22
+ tailnetName?: string;
30
23
  }
31
24
  export declare function daemonStatePath(): string;
32
25
  export declare function daemonLogPath(): string;
@@ -42,9 +35,8 @@ export declare function fetchMachineNightGate(port: number): Promise<MachineNigh
42
35
  export declare function readRunningDaemonState(path: string): Promise<DaemonState | null>;
43
36
  export declare function formatDaemonStatusLine(state: DaemonState): string;
44
37
  export declare function formatUpdateStatusLine(state: DaemonState): string;
45
- /** Unlike the daemon banner, which prints only the single best way in, status
46
- * lists every link this machine has on offer. */
47
- export declare function formatDaemonLinks(links: DaemonLinks): string;
38
+ export declare const PAIR_HINT = "Run `paper-camp pair` to connect a device.";
39
+ export declare function formatDaemonTailnetLine(tailnetName: string | undefined): string;
48
40
  /** Written to a sibling temp path and renamed into place, so a crash mid-write
49
41
  * never leaves a stale-file reader a truncated file to trip over. */
50
42
  export declare function writeDaemonState(path: string, state: DaemonState): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"daemon-state.d.ts","sourceRoot":"","sources":["../../../src/core/daemon-state/daemon-state.ts"],"names":[],"mappings":"AAGA,OAAO,EAGL,KAAK,wBAAwB,EAC7B,KAAK,qBAAqB,EAC3B,MAAM,mBAAmB,CAAC;AAI3B,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,GAAG,SAAS,CAErE;AAED,MAAM,MAAM,WAAW,GACnB;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAC/C;IAAE,IAAI,EAAE,oBAAoB,CAAA;CAAE,GAC9B;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAExD,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,oBAAoB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,KAAK,CAAC,EAAE,WAAW,CAAC;CACrB;AAED,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAED,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAqED,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAOnD;AAID,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,EAAE,GAAG,IAAI,CAAC,CAWhG;AAED;2DAC2D;AAC3D,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAEzE;AAED,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,wBAAwB,GAAG,IAAI,CAAC,CAU1C;AAED;;wCAEwC;AACxC,wBAAsB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAStF;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAOjE;AAQD,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAcjE;AAED;iDACiD;AACjD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAU5D;AAED;qEACqE;AACrE,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAKtF;AAED,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEnE"}
1
+ {"version":3,"file":"daemon-state.d.ts","sourceRoot":"","sources":["../../../src/core/daemon-state/daemon-state.ts"],"names":[],"mappings":"AAGA,OAAO,EAGL,KAAK,wBAAwB,EAC7B,KAAK,qBAAqB,EAC3B,MAAM,mBAAmB,CAAC;AAI3B,MAAM,MAAM,WAAW,GACnB;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAC/C;IAAE,IAAI,EAAE,oBAAoB,CAAA;CAAE,GAC9B;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAExD,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,oBAAoB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAED,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAyDD,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAOnD;AAID,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,EAAE,GAAG,IAAI,CAAC,CAWhG;AAED;2DAC2D;AAC3D,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAEzE;AAED,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,wBAAwB,GAAG,IAAI,CAAC,CAU1C;AAED;;wCAEwC;AACxC,wBAAsB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAStF;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAOjE;AAQD,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAcjE;AAED,eAAO,MAAM,SAAS,+CAA+C,CAAC;AAEtE,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAI/E;AAED;qEACqE;AACrE,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAKtF;AAED,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEnE"}
@@ -0,0 +1,9 @@
1
+ /** `escalateToLog` composes a `[question]` message's `text` as a phase-context
2
+ * lead-in followed by the bare question (agent.ts); split it back apart so a
3
+ * bell notification can show the question alone and a card can show the
4
+ * lead-in muted above it. */
5
+ export declare function splitQuestionText(text: string): {
6
+ phaseLine?: string;
7
+ question: string;
8
+ };
9
+ //# sourceMappingURL=decision-text.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decision-text.d.ts","sourceRoot":"","sources":["../../src/core/decision-text.ts"],"names":[],"mappings":"AAEA;;;6BAG6B;AAC7B,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAWxF"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=decision-text.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decision-text.test.d.ts","sourceRoot":"","sources":["../../src/core/decision-text.test.ts"],"names":[],"mappings":""}
@@ -24,6 +24,7 @@ export interface ProjectEvidence {
24
24
  * commitlint over a PR range, say — can still be offered as a desk check. */
25
25
  ciSteps: CiStep[];
26
26
  hasReleasePlease: boolean;
27
+ hasDraftPrWorkflow: boolean;
27
28
  nonJsManifests: NonJsManifest[];
28
29
  }
29
30
  export declare function detectPackageManager(root: string): PackageManager | null;
@@ -1 +1 @@
1
- {"version":3,"file":"evidence.d.ts","sourceRoot":"","sources":["../../../src/core/desk-discovery/evidence.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;AAE7D,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,IAAI,GAAG,MAAM,CAAC;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,MAAM;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,eAAe;IAC9B,cAAc,EAAE,cAAc,GAAG,IAAI,CAAC;IACtC,OAAO,EAAE,aAAa,EAAE,CAAC;IACzB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,cAAc,EAAE,OAAO,CAAC;IACxB;kFAC8E;IAC9E,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,cAAc,EAAE,aAAa,EAAE,CAAC;CACjC;AAsCD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAKxE;AAqLD,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAkBlF"}
1
+ {"version":3,"file":"evidence.d.ts","sourceRoot":"","sources":["../../../src/core/desk-discovery/evidence.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;AAE7D,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,IAAI,GAAG,MAAM,CAAC;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,MAAM;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,eAAe;IAC9B,cAAc,EAAE,cAAc,GAAG,IAAI,CAAC;IACtC,OAAO,EAAE,aAAa,EAAE,CAAC;IACzB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,cAAc,EAAE,OAAO,CAAC;IACxB;kFAC8E;IAC9E,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,cAAc,EAAE,aAAa,EAAE,CAAC;CACjC;AAsCD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAKxE;AAyLD,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAmBlF"}
@@ -1 +1 @@
1
- {"version":3,"file":"structural.d.ts","sourceRoot":"","sources":["../../../../src/core/doctor/checks/structural.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAoB,MAAM,WAAW,CAAC;AA0J/D,eAAO,MAAM,gBAAgB,EAAE,WAAW,EAMzC,CAAC"}
1
+ {"version":3,"file":"structural.d.ts","sourceRoot":"","sources":["../../../../src/core/doctor/checks/structural.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAoB,MAAM,WAAW,CAAC;AAiM/D,eAAO,MAAM,gBAAgB,EAAE,WAAW,EAOzC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"tooling.d.ts","sourceRoot":"","sources":["../../../../src/core/doctor/checks/tooling.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AA8B7C,eAAO,MAAM,aAAa,EAAE,WAAW,EAGtC,CAAC"}
1
+ {"version":3,"file":"tooling.d.ts","sourceRoot":"","sources":["../../../../src/core/doctor/checks/tooling.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAmF7C,eAAO,MAAM,aAAa,EAAE,WAAW,EAItC,CAAC"}
@@ -10,6 +10,8 @@ export interface DoctorContext {
10
10
  files: DoctorEntityFile[];
11
11
  config: PaperCampConfig | null;
12
12
  hasPermissionsAllow?: boolean;
13
+ draftPrWorkflowContent?: string | null;
14
+ pullRequestTemplateContent?: string | null;
13
15
  }
14
16
  export type DoctorCheck = (context: DoctorContext) => DoctorFinding[];
15
17
  export declare const DOCTOR_CHECKS: DoctorCheck[];
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../../src/core/doctor/doctor.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAIzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE/C,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,MAAM,EAAE,eAAe,GAAG,IAAI,CAAC;IAC/B,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,EAAE,aAAa,KAAK,aAAa,EAAE,CAAC;AAEtE,eAAO,MAAM,aAAa,EAAE,WAAW,EAItC,CAAC;AAgDF,wBAAsB,oBAAoB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CA8BvF;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,aAAa,GAAG,aAAa,EAAE,CAEvE;AAED,wBAAsB,SAAS,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAE9E"}
1
+ {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../../src/core/doctor/doctor.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAIzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE/C,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,MAAM,EAAE,eAAe,GAAG,IAAI,CAAC;IAC/B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,sBAAsB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,0BAA0B,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5C;AAED,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,EAAE,aAAa,KAAK,aAAa,EAAE,CAAC;AAEtE,eAAO,MAAM,aAAa,EAAE,WAAW,EAItC,CAAC;AAyDF,wBAAsB,oBAAoB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAqCvF;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,aAAa,GAAG,aAAa,EAAE,CAEvE;AAED,wBAAsB,SAAS,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAE9E"}
@@ -12,7 +12,7 @@ export type DoctorFixAction = {
12
12
  };
13
13
  export interface DoctorFixer {
14
14
  rule: DoctorRuleId;
15
- fix: (finding: DoctorFinding, file: DoctorEntityFile) => DoctorFixAction | null;
15
+ fix: (finding: DoctorFinding, file?: DoctorEntityFile) => DoctorFixAction | null;
16
16
  }
17
17
  export declare const DOCTOR_FIXERS: DoctorFixer[];
18
18
  export interface DoctorFixPlan {
@@ -1 +1 @@
1
- {"version":3,"file":"fix.d.ts","sourceRoot":"","sources":["../../../src/core/doctor/fix.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAChE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C,MAAM,MAAM,eAAe,GACvB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAC1C;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,YAAY,CAAC;IACnB,GAAG,EAAE,CAAC,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,gBAAgB,KAAK,eAAe,GAAG,IAAI,CAAC;CACjF;AAaD,eAAO,MAAM,aAAa,EAAE,WAAW,EAA4B,CAAC;AAMpE,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,SAAS,EAAE,aAAa,EAAE,CAAC;IAC3B,QAAQ,EAAE,aAAa,EAAE,CAAC;CAC3B;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,aAAa,CA0BhG"}
1
+ {"version":3,"file":"fix.d.ts","sourceRoot":"","sources":["../../../src/core/doctor/fix.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAChE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C,MAAM,MAAM,eAAe,GACvB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAC1C;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,YAAY,CAAC;IACnB,GAAG,EAAE,CAAC,OAAO,EAAE,aAAa,EAAE,IAAI,CAAC,EAAE,gBAAgB,KAAK,eAAe,GAAG,IAAI,CAAC;CAClF;AA6BD,eAAO,MAAM,aAAa,EAAE,WAAW,EAAkD,CAAC;AAM1F,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,SAAS,EAAE,aAAa,EAAE,CAAC;IAC3B,QAAQ,EAAE,aAAa,EAAE,CAAC;CAC3B;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,aAAa,CA0BhG"}
@@ -46,6 +46,11 @@ export declare const DOCTOR_RULES: readonly [{
46
46
  readonly category: "structural";
47
47
  readonly severity: "error";
48
48
  readonly summary: "A file carries more than one Phases heading — a redraft appended instead of replacing the existing list in place.";
49
+ }, {
50
+ readonly id: "no-agent-phase";
51
+ readonly category: "structural";
52
+ readonly severity: "warning";
53
+ readonly summary: "A planned/in-progress/review entity has no phase an agent can run — every phase is `[manual]` or the Phases section is empty, so the idea can never move on its own.";
49
54
  }, {
50
55
  readonly id: "archive-placement";
51
56
  readonly category: "structural";
@@ -66,6 +71,16 @@ export declare const DOCTOR_RULES: readonly [{
66
71
  readonly category: "tooling";
67
72
  readonly severity: "warning";
68
73
  readonly summary: "config.json has no defaultAgents, so every run uses the built-in agent and model — choose them in Settings → General so a project never runs on a fallback it did not pick.";
74
+ }, {
75
+ readonly id: "draft-pr-template-outdated";
76
+ readonly category: "tooling";
77
+ readonly severity: "warning";
78
+ readonly summary: "desk.ci.draftPr is on but .github/workflows/draft-pr.yml or .github/pull_request_template.md is missing or carries an older paper-camp template version — run `paper-camp doctor --fix` to rewrite it.";
79
+ }, {
80
+ readonly id: "draft-pr-template-unmanaged";
81
+ readonly category: "tooling";
82
+ readonly severity: "warning";
83
+ readonly summary: "desk.ci.draftPr is on but the workflow or PR template file has no paper-camp template header, so it looks hand-written — paper-camp will not overwrite it.";
69
84
  }];
70
85
  export type DoctorRuleId = (typeof DOCTOR_RULES)[number]['id'];
71
86
  export declare const DOCTOR_RULES_BY_ID: Record<DoctorRuleId, DoctorRule>;
@@ -1 +1 @@
1
- {"version":3,"file":"rules.d.ts","sourceRoot":"","sources":["../../../src/core/doctor/rules.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,SAAS,CAAC;AAEjD,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,YAAY,GAAG,SAAS,CAAC;AAEnE,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,cAAc,CAAC;IACzB,QAAQ,EAAE,cAAc,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiFiB,CAAC;AAE3C,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC;AAE/D,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,YAAY,EAAE,UAAU,CAE3B,CAAC"}
1
+ {"version":3,"file":"rules.d.ts","sourceRoot":"","sources":["../../../src/core/doctor/rules.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,SAAS,CAAC;AAEjD,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,YAAY,GAAG,SAAS,CAAC;AAEnE,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,cAAc,CAAC;IACzB,QAAQ,EAAE,cAAc,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsGiB,CAAC;AAE3C,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC;AAE/D,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,YAAY,EAAE,UAAU,CAE3B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"entity-view.d.ts","sourceRoot":"","sources":["../../src/core/entity-view.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,SAAS,EAET,SAAS,EAET,MAAM,EACP,MAAM,gBAAgB,CAAC;AASxB;uGACuG;AACvG,wBAAgB,YAAY,CAC1B,CAAC,EAAE,WAAW,EACd,EAAE,CAAC,EAAE,MAAM,EACX,gBAAgB,UAAQ,EACxB,eAAe,UAAQ,GACtB,SAAS,CA+BX;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,WAAW,GAAG,SAAS,CAYtD"}
1
+ {"version":3,"file":"entity-view.d.ts","sourceRoot":"","sources":["../../src/core/entity-view.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,SAAS,EAET,SAAS,EAET,MAAM,EACP,MAAM,gBAAgB,CAAC;AASxB;uGACuG;AACvG,wBAAgB,YAAY,CAC1B,CAAC,EAAE,WAAW,EACd,EAAE,CAAC,EAAE,MAAM,EACX,gBAAgB,UAAQ,EACxB,eAAe,UAAQ,GACtB,SAAS,CAgCX;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,WAAW,GAAG,SAAS,CAYtD"}
@@ -11,6 +11,7 @@ export * from './trail';
11
11
  export * from './parked-questions';
12
12
  export * from './phase-progress';
13
13
  export * from './machine-registry';
14
+ export * from './needs';
14
15
  export * from './daemon-state';
15
16
  export * from '../types/index';
16
17
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC"}