@davidorex/pi-context 0.26.0 → 0.28.1

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/CHANGELOG.md +71 -15
  2. package/README.md +71 -18
  3. package/dist/block-api.d.ts +165 -18
  4. package/dist/block-api.d.ts.map +1 -1
  5. package/dist/block-api.js +800 -57
  6. package/dist/block-api.js.map +1 -1
  7. package/dist/citation-rot-scanner.d.ts +80 -0
  8. package/dist/citation-rot-scanner.d.ts.map +1 -0
  9. package/dist/citation-rot-scanner.js +421 -0
  10. package/dist/citation-rot-scanner.js.map +1 -0
  11. package/dist/content-hash.d.ts +25 -0
  12. package/dist/content-hash.d.ts.map +1 -0
  13. package/dist/content-hash.js +62 -0
  14. package/dist/content-hash.js.map +1 -0
  15. package/dist/context-dir.d.ts +126 -1
  16. package/dist/context-dir.d.ts.map +1 -1
  17. package/dist/context-dir.js +208 -4
  18. package/dist/context-dir.js.map +1 -1
  19. package/dist/context-registry.d.ts +122 -0
  20. package/dist/context-registry.d.ts.map +1 -0
  21. package/dist/context-registry.js +189 -0
  22. package/dist/context-registry.js.map +1 -0
  23. package/dist/context-sdk.d.ts +179 -12
  24. package/dist/context-sdk.d.ts.map +1 -1
  25. package/dist/context-sdk.js +536 -101
  26. package/dist/context-sdk.js.map +1 -1
  27. package/dist/context.d.ts +222 -4
  28. package/dist/context.d.ts.map +1 -1
  29. package/dist/context.js +244 -56
  30. package/dist/context.js.map +1 -1
  31. package/dist/git-env.d.ts +2 -0
  32. package/dist/git-env.d.ts.map +1 -0
  33. package/dist/git-env.js +29 -0
  34. package/dist/git-env.js.map +1 -0
  35. package/dist/index.d.ts +124 -2
  36. package/dist/index.d.ts.map +1 -1
  37. package/dist/index.js +440 -1125
  38. package/dist/index.js.map +1 -1
  39. package/dist/lens-view.d.ts.map +1 -1
  40. package/dist/lens-view.js +5 -3
  41. package/dist/lens-view.js.map +1 -1
  42. package/dist/migration-registry-loader.d.ts +121 -0
  43. package/dist/migration-registry-loader.d.ts.map +1 -0
  44. package/dist/migration-registry-loader.js +309 -0
  45. package/dist/migration-registry-loader.js.map +1 -0
  46. package/dist/migrations-store.d.ts +141 -0
  47. package/dist/migrations-store.d.ts.map +1 -0
  48. package/dist/migrations-store.js +206 -0
  49. package/dist/migrations-store.js.map +1 -0
  50. package/dist/object-store.d.ts +26 -0
  51. package/dist/object-store.d.ts.map +1 -0
  52. package/dist/object-store.js +104 -0
  53. package/dist/object-store.js.map +1 -0
  54. package/dist/ops-registry.d.ts +44 -0
  55. package/dist/ops-registry.d.ts.map +1 -0
  56. package/dist/ops-registry.js +1223 -0
  57. package/dist/ops-registry.js.map +1 -0
  58. package/dist/orientation.d.ts +16 -0
  59. package/dist/orientation.d.ts.map +1 -0
  60. package/dist/orientation.js +49 -0
  61. package/dist/orientation.js.map +1 -0
  62. package/dist/promote-item.d.ts +28 -0
  63. package/dist/promote-item.d.ts.map +1 -0
  64. package/dist/promote-item.js +257 -0
  65. package/dist/promote-item.js.map +1 -0
  66. package/dist/read-element.d.ts +129 -0
  67. package/dist/read-element.d.ts.map +1 -0
  68. package/dist/read-element.js +296 -0
  69. package/dist/read-element.js.map +1 -0
  70. package/dist/rename-canonical-id.d.ts.map +1 -1
  71. package/dist/rename-canonical-id.js +22 -13
  72. package/dist/rename-canonical-id.js.map +1 -1
  73. package/dist/roadmap-plan.d.ts.map +1 -1
  74. package/dist/roadmap-plan.js +23 -13
  75. package/dist/roadmap-plan.js.map +1 -1
  76. package/dist/schema-validator.d.ts +1 -0
  77. package/dist/schema-validator.d.ts.map +1 -1
  78. package/dist/schema-validator.js +7 -3
  79. package/dist/schema-validator.js.map +1 -1
  80. package/dist/schema-write.d.ts +78 -4
  81. package/dist/schema-write.d.ts.map +1 -1
  82. package/dist/schema-write.js +297 -34
  83. package/dist/schema-write.js.map +1 -1
  84. package/dist/status-vocab.d.ts +1 -0
  85. package/dist/status-vocab.d.ts.map +1 -1
  86. package/dist/status-vocab.js +4 -0
  87. package/dist/status-vocab.js.map +1 -1
  88. package/dist/truncate.d.ts +34 -0
  89. package/dist/truncate.d.ts.map +1 -0
  90. package/dist/truncate.js +85 -0
  91. package/dist/truncate.js.map +1 -0
  92. package/dist/write-schema-migration-tool.d.ts +46 -0
  93. package/dist/write-schema-migration-tool.d.ts.map +1 -0
  94. package/dist/write-schema-migration-tool.js +115 -0
  95. package/dist/write-schema-migration-tool.js.map +1 -0
  96. package/package.json +35 -2
  97. package/samples/blocks/work-orders.json +3 -0
  98. package/samples/conception.json +22 -3
  99. package/samples/migrations.json +133 -0
  100. package/samples/schemas/context-contracts.schema.json +19 -4
  101. package/samples/schemas/conventions.schema.json +68 -12
  102. package/samples/schemas/decisions.schema.json +125 -28
  103. package/samples/schemas/features.schema.json +140 -26
  104. package/samples/schemas/framework-gaps.schema.json +171 -26
  105. package/samples/schemas/issues.schema.json +86 -13
  106. package/samples/schemas/layer-plans.schema.json +195 -35
  107. package/samples/schemas/phase.schema.json +18 -3
  108. package/samples/schemas/rationale.schema.json +37 -7
  109. package/samples/schemas/requirements.schema.json +77 -10
  110. package/samples/schemas/research.schema.json +169 -36
  111. package/samples/schemas/spec-reviews.schema.json +88 -18
  112. package/samples/schemas/story.schema.json +18 -3
  113. package/samples/schemas/tasks.schema.json +66 -10
  114. package/samples/schemas/verification.schema.json +70 -12
  115. package/samples/schemas/work-orders.schema.json +195 -0
  116. package/schemas/bootstrap.schema.json +18 -6
  117. package/schemas/config.schema.json +58 -26
  118. package/schemas/context-registry.schema.json +46 -0
  119. package/schemas/migrations.schema.json +123 -0
  120. package/schemas/relations.schema.json +41 -10
  121. package/skill-narrative.md +42 -21
  122. package/skills/pi-context/SKILL.md +159 -65
  123. package/skills/pi-context/references/bundled-resources.md +7 -2
@@ -1 +1 @@
1
- {"version":3,"file":"schema-write.js","sourceRoot":"","sources":["../src/schema-write.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema-write.js","sourceRoot":"","sources":["../src/schema-write.ts"],"names":[],"mappings":"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"}
@@ -42,6 +42,7 @@ export type { StatusBucket } from "./context.js";
42
42
  * - layer-plans.status: draft | proposed | decided | in-progress | complete | abandoned
43
43
  * - issues.status: open | resolved | deferred
44
44
  * - phase.status: planned | in-progress | completed
45
+ * - work-orders.status: proposed | in-progress | real-check-passed | real-check-failed | completed | cancelled
45
46
  *
46
47
  * status-vocab.test.ts guards completeness: every samples/schemas status enum
47
48
  * value must resolve here (only the intended terminal-not-complete set may map
@@ -1 +1 @@
1
- {"version":3,"file":"status-vocab.d.ts","sourceRoot":"","sources":["../src/status-vocab.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAe,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;AAE9D,YAAY,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,eAAO,MAAM,0BAA0B,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CA+CnE,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAGjF"}
1
+ {"version":3,"file":"status-vocab.d.ts","sourceRoot":"","sources":["../src/status-vocab.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAe,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;AAE9D,YAAY,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,eAAO,MAAM,0BAA0B,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAkDnE,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAGjF"}
@@ -41,6 +41,7 @@ import { loadContext } from "./context.js";
41
41
  * - layer-plans.status: draft | proposed | decided | in-progress | complete | abandoned
42
42
  * - issues.status: open | resolved | deferred
43
43
  * - phase.status: planned | in-progress | completed
44
+ * - work-orders.status: proposed | in-progress | real-check-passed | real-check-failed | completed | cancelled
44
45
  *
45
46
  * status-vocab.test.ts guards completeness: every samples/schemas status enum
46
47
  * value must resolve here (only the intended terminal-not-complete set may map
@@ -60,6 +61,7 @@ export const STATUS_VOCABULARY_DEFAULTS = {
60
61
  archived: "complete",
61
62
  closed: "complete", // framework-gaps: gap resolved/done
62
63
  verified: "complete", // requirements: terminal-done, beyond "implemented"
64
+ "real-check-passed": "complete", // work-orders: real-check verdict pass = lifecycle-complete equivalent (DEC-0018)
63
65
  // → in_progress
64
66
  in_progress: "in_progress",
65
67
  "in-progress": "in_progress",
@@ -72,6 +74,7 @@ export const STATUS_VOCABULARY_DEFAULTS = {
72
74
  blocked: "blocked",
73
75
  paused: "blocked",
74
76
  failed: "blocked",
77
+ "real-check-failed": "blocked", // work-orders: real-check verdict fail = lifecycle-blocked equivalent (DEC-0018)
75
78
  // → todo
76
79
  open: "todo",
77
80
  todo: "todo",
@@ -89,6 +92,7 @@ export const STATUS_VOCABULARY_DEFAULTS = {
89
92
  // linear progress narrative. Roadmap/plan rollups treat them as "doesn't
90
93
  // count toward progress" rather than as complete or todo.
91
94
  superseded: "unknown",
95
+ superseded_by: "unknown", // framework-gaps: gap absorbed by a TASK that lands canonical resolution (mis-scoped FGAP closure pattern; v1.1.0 enum extension)
92
96
  cancelled: "unknown",
93
97
  deferred: "unknown",
94
98
  abandoned: "unknown", // layer-plans/spec-reviews: work stopped, not completed
@@ -1 +1 @@
1
- {"version":3,"file":"status-vocab.js","sourceRoot":"","sources":["../src/status-vocab.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAE,WAAW,EAAqB,MAAM,cAAc,CAAC;AAI9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAiC;IACvE,aAAa;IACb,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,UAAU;IACrB,QAAQ,EAAE,UAAU;IACpB,IAAI,EAAE,UAAU;IAChB,OAAO,EAAE,UAAU;IACnB,WAAW,EAAE,UAAU;IACvB,MAAM,EAAE,UAAU;IAClB,QAAQ,EAAE,UAAU;IACpB,MAAM,EAAE,UAAU,EAAE,oCAAoC;IACxD,QAAQ,EAAE,UAAU,EAAE,oDAAoD;IAC1E,gBAAgB;IAChB,WAAW,EAAE,aAAa;IAC1B,aAAa,EAAE,aAAa;IAC5B,MAAM,EAAE,aAAa;IACrB,QAAQ,EAAE,aAAa;IACvB,WAAW,EAAE,aAAa,EAAE,gEAAgE;IAC5F,OAAO,EAAE,aAAa,EAAE,oDAAoD;IAC5E,OAAO,EAAE,aAAa,EAAE,wEAAwE;IAChG,YAAY;IACZ,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,SAAS;IACjB,MAAM,EAAE,SAAS;IACjB,SAAS;IACT,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,MAAM;IACf,QAAQ,EAAE,MAAM;IAChB,KAAK,EAAE,MAAM;IACb,UAAU,EAAE,MAAM;IAClB,aAAa,EAAE,MAAM;IACrB,OAAO,EAAE,MAAM;IACf,QAAQ,EAAE,MAAM,EAAE,+CAA+C;IACjE,KAAK,EAAE,MAAM,EAAE,0DAA0D;IACzE,OAAO,EAAE,MAAM,EAAE,2DAA2D;IAC5E,4EAA4E;IAC5E,0EAA0E;IAC1E,yEAAyE;IACzE,0DAA0D;IAC1D,UAAU,EAAE,SAAS;IACrB,SAAS,EAAE,SAAS;IACpB,QAAQ,EAAE,SAAS;IACnB,SAAS,EAAE,SAAS,EAAE,wDAAwD;IAC9E,OAAO,EAAE,SAAS,EAAE,yCAAyC;IAC7D,OAAO,EAAE,SAAS,EAAE,0DAA0D;IAC9E,KAAK,EAAE,SAAS,EAAE,kEAAkE;CACpF,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CAAC,GAAW;IAClD,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IAC7B,OAAO,EAAE,GAAG,0BAA0B,EAAE,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,cAAc,IAAI,EAAE,CAAC,EAAE,CAAC;AACjF,CAAC"}
1
+ {"version":3,"file":"status-vocab.js","sourceRoot":"","sources":["../src/status-vocab.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAE,WAAW,EAAqB,MAAM,cAAc,CAAC;AAI9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAiC;IACvE,aAAa;IACb,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,UAAU;IACrB,QAAQ,EAAE,UAAU;IACpB,IAAI,EAAE,UAAU;IAChB,OAAO,EAAE,UAAU;IACnB,WAAW,EAAE,UAAU;IACvB,MAAM,EAAE,UAAU;IAClB,QAAQ,EAAE,UAAU;IACpB,MAAM,EAAE,UAAU,EAAE,oCAAoC;IACxD,QAAQ,EAAE,UAAU,EAAE,oDAAoD;IAC1E,mBAAmB,EAAE,UAAU,EAAE,kFAAkF;IACnH,gBAAgB;IAChB,WAAW,EAAE,aAAa;IAC1B,aAAa,EAAE,aAAa;IAC5B,MAAM,EAAE,aAAa;IACrB,QAAQ,EAAE,aAAa;IACvB,WAAW,EAAE,aAAa,EAAE,gEAAgE;IAC5F,OAAO,EAAE,aAAa,EAAE,oDAAoD;IAC5E,OAAO,EAAE,aAAa,EAAE,wEAAwE;IAChG,YAAY;IACZ,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,SAAS;IACjB,MAAM,EAAE,SAAS;IACjB,mBAAmB,EAAE,SAAS,EAAE,iFAAiF;IACjH,SAAS;IACT,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,MAAM;IACf,QAAQ,EAAE,MAAM;IAChB,KAAK,EAAE,MAAM;IACb,UAAU,EAAE,MAAM;IAClB,aAAa,EAAE,MAAM;IACrB,OAAO,EAAE,MAAM;IACf,QAAQ,EAAE,MAAM,EAAE,+CAA+C;IACjE,KAAK,EAAE,MAAM,EAAE,0DAA0D;IACzE,OAAO,EAAE,MAAM,EAAE,2DAA2D;IAC5E,4EAA4E;IAC5E,0EAA0E;IAC1E,yEAAyE;IACzE,0DAA0D;IAC1D,UAAU,EAAE,SAAS;IACrB,aAAa,EAAE,SAAS,EAAE,kIAAkI;IAC5J,SAAS,EAAE,SAAS;IACpB,QAAQ,EAAE,SAAS;IACnB,SAAS,EAAE,SAAS,EAAE,wDAAwD;IAC9E,OAAO,EAAE,SAAS,EAAE,yCAAyC;IAC7D,OAAO,EAAE,SAAS,EAAE,0DAA0D;IAC9E,KAAK,EAAE,SAAS,EAAE,kEAAkE;CACpF,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CAAC,GAAW;IAClD,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IAC7B,OAAO,EAAE,GAAG,0BAA0B,EAAE,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,cAAc,IAAI,EAAE,CAAC,EAAE,CAAC;AACjF,CAAC"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Vendored from @earendil-works/pi-coding-agent@0.75.4 (dist/core/tools/truncate.js).
3
+ * Reason: the SDK exposes no resolving subpath for truncateHead (its package.json `exports`
4
+ * map is "." + "./hooks" only) and the root barrel is unresolvable under `tsx -e`
5
+ * (ERR_PACKAGE_PATH_NOT_EXPORTED), which silently breaks the orchestrator's tsx-eval
6
+ * verification path (validateContext / contextState) once pulled into context-sdk's import
7
+ * graph (FGAP-104). truncateHead is pure (Buffer.byteLength only), so it is vendored verbatim.
8
+ * Re-sync if the SDK adds a resolving `tools` export.
9
+ */
10
+ export declare const DEFAULT_MAX_LINES = 2000;
11
+ export declare const DEFAULT_MAX_BYTES: number;
12
+ export interface TruncationOptions {
13
+ maxLines?: number;
14
+ maxBytes?: number;
15
+ }
16
+ export interface TruncationResult {
17
+ content: string;
18
+ truncated: boolean;
19
+ truncatedBy: "lines" | "bytes" | null;
20
+ totalLines: number;
21
+ totalBytes: number;
22
+ outputLines: number;
23
+ outputBytes: number;
24
+ lastLinePartial: boolean;
25
+ firstLineExceedsLimit: boolean;
26
+ maxLines: number;
27
+ maxBytes: number;
28
+ }
29
+ /**
30
+ * Truncate content from the head (keep first N lines/bytes). Never returns partial lines.
31
+ * If the first line exceeds the byte limit, returns empty content with firstLineExceedsLimit=true.
32
+ */
33
+ export declare function truncateHead(content: string, options?: TruncationOptions): TruncationResult;
34
+ //# sourceMappingURL=truncate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"truncate.d.ts","sourceRoot":"","sources":["../src/truncate.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,eAAO,MAAM,iBAAiB,OAAO,CAAC;AACtC,eAAO,MAAM,iBAAiB,QAAY,CAAC;AAE3C,MAAM,WAAW,iBAAiB;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,gBAAgB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,OAAO,GAAG,OAAO,GAAG,IAAI,CAAC;IACtC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,OAAO,CAAC;IACzB,qBAAqB,EAAE,OAAO,CAAC;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,iBAAsB,GAAG,gBAAgB,CAoE/F"}
@@ -0,0 +1,85 @@
1
+ /**
2
+ * Vendored from @earendil-works/pi-coding-agent@0.75.4 (dist/core/tools/truncate.js).
3
+ * Reason: the SDK exposes no resolving subpath for truncateHead (its package.json `exports`
4
+ * map is "." + "./hooks" only) and the root barrel is unresolvable under `tsx -e`
5
+ * (ERR_PACKAGE_PATH_NOT_EXPORTED), which silently breaks the orchestrator's tsx-eval
6
+ * verification path (validateContext / contextState) once pulled into context-sdk's import
7
+ * graph (FGAP-104). truncateHead is pure (Buffer.byteLength only), so it is vendored verbatim.
8
+ * Re-sync if the SDK adds a resolving `tools` export.
9
+ */
10
+ export const DEFAULT_MAX_LINES = 2000;
11
+ export const DEFAULT_MAX_BYTES = 50 * 1024; // 50KB
12
+ /**
13
+ * Truncate content from the head (keep first N lines/bytes). Never returns partial lines.
14
+ * If the first line exceeds the byte limit, returns empty content with firstLineExceedsLimit=true.
15
+ */
16
+ export function truncateHead(content, options = {}) {
17
+ const maxLines = options.maxLines ?? DEFAULT_MAX_LINES;
18
+ const maxBytes = options.maxBytes ?? DEFAULT_MAX_BYTES;
19
+ const totalBytes = Buffer.byteLength(content, "utf-8");
20
+ const lines = content.split("\n");
21
+ const totalLines = lines.length;
22
+ if (totalLines <= maxLines && totalBytes <= maxBytes) {
23
+ return {
24
+ content,
25
+ truncated: false,
26
+ truncatedBy: null,
27
+ totalLines,
28
+ totalBytes,
29
+ outputLines: totalLines,
30
+ outputBytes: totalBytes,
31
+ lastLinePartial: false,
32
+ firstLineExceedsLimit: false,
33
+ maxLines,
34
+ maxBytes,
35
+ };
36
+ }
37
+ const firstLineBytes = Buffer.byteLength(lines[0], "utf-8");
38
+ if (firstLineBytes > maxBytes) {
39
+ return {
40
+ content: "",
41
+ truncated: true,
42
+ truncatedBy: "bytes",
43
+ totalLines,
44
+ totalBytes,
45
+ outputLines: 0,
46
+ outputBytes: 0,
47
+ lastLinePartial: false,
48
+ firstLineExceedsLimit: true,
49
+ maxLines,
50
+ maxBytes,
51
+ };
52
+ }
53
+ const outputLinesArr = [];
54
+ let outputBytesCount = 0;
55
+ let truncatedBy = "lines";
56
+ for (let i = 0; i < lines.length && i < maxLines; i++) {
57
+ const line = lines[i];
58
+ const lineBytes = Buffer.byteLength(line, "utf-8") + (i > 0 ? 1 : 0); // +1 for newline
59
+ if (outputBytesCount + lineBytes > maxBytes) {
60
+ truncatedBy = "bytes";
61
+ break;
62
+ }
63
+ outputLinesArr.push(line);
64
+ outputBytesCount += lineBytes;
65
+ }
66
+ if (outputLinesArr.length >= maxLines && outputBytesCount <= maxBytes) {
67
+ truncatedBy = "lines";
68
+ }
69
+ const outputContent = outputLinesArr.join("\n");
70
+ const finalOutputBytes = Buffer.byteLength(outputContent, "utf-8");
71
+ return {
72
+ content: outputContent,
73
+ truncated: true,
74
+ truncatedBy,
75
+ totalLines,
76
+ totalBytes,
77
+ outputLines: outputLinesArr.length,
78
+ outputBytes: finalOutputBytes,
79
+ lastLinePartial: false,
80
+ firstLineExceedsLimit: false,
81
+ maxLines,
82
+ maxBytes,
83
+ };
84
+ }
85
+ //# sourceMappingURL=truncate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"truncate.js","sourceRoot":"","sources":["../src/truncate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * write-schema-migration tool — execute body extracted from index.ts so it
3
+ * can be invoked by a direct unit test without driving the full extension
4
+ * factory. The pi.registerTool wrapper in index.ts is a thin caller; this
5
+ * module owns the validation + dispatch shape.
6
+ *
7
+ * Mirrors the author-agent-spec-tool pattern in pi-agent-dispatch: tool
8
+ * implementation in its own module, tool registration site is a thin
9
+ * wrapper. Lets the tool's operation discriminator + transform
10
+ * presence/absence guards be exercised in isolation.
11
+ *
12
+ * Capability/migration authoring is human-authorized via the auth-gate
13
+ * confirm at the pi-dispatch layer: the agent may issue the call, the
14
+ * operator authorizes at the terminal, and the auth-gate stamps
15
+ * event.input.writer with the verified terminal-operator identity before
16
+ * the body runs.
17
+ *
18
+ * The Pi tool description in index.ts uses abstract framework language
19
+ * (no canonical-id citations) per the operator-facing string convention.
20
+ */
21
+ import type { AgentToolResult } from "@earendil-works/pi-coding-agent";
22
+ export interface WriteSchemaMigrationParams {
23
+ operation: string;
24
+ schemaName: string;
25
+ fromVersion: string;
26
+ toVersion: string;
27
+ kind?: string;
28
+ transform?: unknown;
29
+ writer: {
30
+ kind: string;
31
+ user: string;
32
+ };
33
+ }
34
+ /**
35
+ * Execute body for the write-schema-migration tool. Dispatches the three
36
+ * substrate operations (create / replace / remove) over the migrations.json
37
+ * write surface; the auth-gate at the pi-dispatch layer is the canonical
38
+ * identity check (this body trusts the writer field as-is, only requiring
39
+ * writer.user as a structural precondition for DispatchContext
40
+ * construction); enforces TransformSpec presence/absence per kind.
41
+ *
42
+ * Returns an AgentToolResult naming the verb + persisted migrations.json
43
+ * path so the caller's content array surfaces the on-disk effect.
44
+ */
45
+ export declare function writeSchemaMigrationExecute(cwd: string, params: WriteSchemaMigrationParams): Promise<AgentToolResult<undefined>>;
46
+ //# sourceMappingURL=write-schema-migration-tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"write-schema-migration-tool.d.ts","sourceRoot":"","sources":["../src/write-schema-migration-tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AASvE,MAAM,WAAW,0BAA0B;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CACvC;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,2BAA2B,CAChD,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,0BAA0B,GAChC,OAAO,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CA+FrC"}
@@ -0,0 +1,115 @@
1
+ /**
2
+ * write-schema-migration tool — execute body extracted from index.ts so it
3
+ * can be invoked by a direct unit test without driving the full extension
4
+ * factory. The pi.registerTool wrapper in index.ts is a thin caller; this
5
+ * module owns the validation + dispatch shape.
6
+ *
7
+ * Mirrors the author-agent-spec-tool pattern in pi-agent-dispatch: tool
8
+ * implementation in its own module, tool registration site is a thin
9
+ * wrapper. Lets the tool's operation discriminator + transform
10
+ * presence/absence guards be exercised in isolation.
11
+ *
12
+ * Capability/migration authoring is human-authorized via the auth-gate
13
+ * confirm at the pi-dispatch layer: the agent may issue the call, the
14
+ * operator authorizes at the terminal, and the auth-gate stamps
15
+ * event.input.writer with the verified terminal-operator identity before
16
+ * the body runs.
17
+ *
18
+ * The Pi tool description in index.ts uses abstract framework language
19
+ * (no canonical-id citations) per the operator-facing string convention.
20
+ */
21
+ import { migrationsPath } from "./context-dir.js";
22
+ import { appendMigrationDecl, removeMigrationDecl, replaceMigrationDecl, } from "./migrations-store.js";
23
+ /**
24
+ * Execute body for the write-schema-migration tool. Dispatches the three
25
+ * substrate operations (create / replace / remove) over the migrations.json
26
+ * write surface; the auth-gate at the pi-dispatch layer is the canonical
27
+ * identity check (this body trusts the writer field as-is, only requiring
28
+ * writer.user as a structural precondition for DispatchContext
29
+ * construction); enforces TransformSpec presence/absence per kind.
30
+ *
31
+ * Returns an AgentToolResult naming the verb + persisted migrations.json
32
+ * path so the caller's content array surfaces the on-disk effect.
33
+ */
34
+ export async function writeSchemaMigrationExecute(cwd, params) {
35
+ const op = params.operation;
36
+ if (op !== "create" && op !== "replace" && op !== "remove") {
37
+ throw new Error(`write-schema-migration: unknown operation '${op}' — expected create | replace | remove`);
38
+ }
39
+ // Identity check has moved to the pi-dispatch auth-gate (registered
40
+ // by pi-agent-dispatch). By the time this body runs, the auth-gate
41
+ // has prompted the operator and — on confirm=true with a verifiable
42
+ // identity — stamped event.input.writer with the verified terminal-
43
+ // operator identity. The body trusts the writer field as-is.
44
+ if (!params.writer?.user) {
45
+ throw new Error("write-schema-migration: writer.user is required.");
46
+ }
47
+ if (op === "remove") {
48
+ removeMigrationDecl(cwd, params.schemaName, params.fromVersion, {
49
+ writer: { kind: "human", user: params.writer.user },
50
+ });
51
+ return {
52
+ details: undefined,
53
+ content: [
54
+ {
55
+ type: "text",
56
+ text: `write-schema-migration: removed migration for schema '${params.schemaName}' fromVersion '${params.fromVersion}' at ${migrationsPath(cwd)}`,
57
+ },
58
+ ],
59
+ };
60
+ }
61
+ const kind = params.kind;
62
+ if (kind !== "identity" && kind !== "declarative-transform") {
63
+ throw new Error(`write-schema-migration: kind must be 'identity' or 'declarative-transform' for operation '${op}' (got '${kind}')`);
64
+ }
65
+ if (params.fromVersion === params.toVersion) {
66
+ throw new Error(`write-schema-migration: fromVersion ('${params.fromVersion}') must differ from toVersion ('${params.toVersion}')`);
67
+ }
68
+ let transformBody = params.transform;
69
+ if (typeof transformBody === "string") {
70
+ try {
71
+ transformBody = JSON.parse(transformBody);
72
+ }
73
+ catch {
74
+ throw new Error("write-schema-migration: transform parameter must be an object, got unparseable string.");
75
+ }
76
+ }
77
+ if (kind === "declarative-transform") {
78
+ if (transformBody === undefined ||
79
+ transformBody === null ||
80
+ typeof transformBody !== "object" ||
81
+ !("operations" in transformBody)) {
82
+ throw new Error("write-schema-migration: kind='declarative-transform' requires a transform body with an 'operations' array.");
83
+ }
84
+ }
85
+ else if (transformBody !== undefined && transformBody !== null) {
86
+ throw new Error("write-schema-migration: kind='identity' must NOT carry a transform body (identity asserts data is shape-compatible across the bump).");
87
+ }
88
+ const decl = {
89
+ schemaName: params.schemaName,
90
+ fromVersion: params.fromVersion,
91
+ toVersion: params.toVersion,
92
+ kind,
93
+ ...(kind === "declarative-transform" ? { transform: transformBody } : {}),
94
+ created_by: params.writer.user,
95
+ created_at: new Date().toISOString(),
96
+ };
97
+ const dispatchCtx = { writer: { kind: "human", user: params.writer.user } };
98
+ if (op === "create") {
99
+ appendMigrationDecl(cwd, decl, dispatchCtx);
100
+ }
101
+ else {
102
+ replaceMigrationDecl(cwd, decl, dispatchCtx);
103
+ }
104
+ const verb = op === "create" ? "created" : "replaced";
105
+ return {
106
+ details: undefined,
107
+ content: [
108
+ {
109
+ type: "text",
110
+ text: `write-schema-migration: ${verb} ${kind} migration for schema '${params.schemaName}' ${params.fromVersion}→${params.toVersion} at ${migrationsPath(cwd)}`,
111
+ },
112
+ ],
113
+ };
114
+ }
115
+ //# sourceMappingURL=write-schema-migration-tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"write-schema-migration-tool.js","sourceRoot":"","sources":["../src/write-schema-migration-tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EACN,mBAAmB,EAEnB,mBAAmB,EACnB,oBAAoB,GACpB,MAAM,uBAAuB,CAAC;AAY/B;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAChD,GAAW,EACX,MAAkC;IAElC,MAAM,EAAE,GAAG,MAAM,CAAC,SAAS,CAAC;IAC5B,IAAI,EAAE,KAAK,QAAQ,IAAI,EAAE,KAAK,SAAS,IAAI,EAAE,KAAK,QAAQ,EAAE,CAAC;QAC5D,MAAM,IAAI,KAAK,CAAC,8CAA8C,EAAE,wCAAwC,CAAC,CAAC;IAC3G,CAAC;IAED,oEAAoE;IACpE,mEAAmE;IACnE,oEAAoE;IACpE,oEAAoE;IACpE,6DAA6D;IAC7D,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACrE,CAAC;IAED,IAAI,EAAE,KAAK,QAAQ,EAAE,CAAC;QACrB,mBAAmB,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,WAAW,EAAE;YAC/D,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE;SACnD,CAAC,CAAC;QACH,OAAO;YACN,OAAO,EAAE,SAAS;YAClB,OAAO,EAAE;gBACR;oBACC,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,yDAAyD,MAAM,CAAC,UAAU,kBAAkB,MAAM,CAAC,WAAW,QAAQ,cAAc,CAAC,GAAG,CAAC,EAAE;iBACjJ;aACD;SACD,CAAC;IACH,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;IACzB,IAAI,IAAI,KAAK,UAAU,IAAI,IAAI,KAAK,uBAAuB,EAAE,CAAC;QAC7D,MAAM,IAAI,KAAK,CACd,6FAA6F,EAAE,WAAW,IAAI,IAAI,CAClH,CAAC;IACH,CAAC;IACD,IAAI,MAAM,CAAC,WAAW,KAAK,MAAM,CAAC,SAAS,EAAE,CAAC;QAC7C,MAAM,IAAI,KAAK,CACd,yCAAyC,MAAM,CAAC,WAAW,mCAAmC,MAAM,CAAC,SAAS,IAAI,CAClH,CAAC;IACH,CAAC;IAED,IAAI,aAAa,GAAY,MAAM,CAAC,SAAS,CAAC;IAC9C,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE,CAAC;QACvC,IAAI,CAAC;YACJ,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAC3C,CAAC;QAAC,MAAM,CAAC;YACR,MAAM,IAAI,KAAK,CAAC,wFAAwF,CAAC,CAAC;QAC3G,CAAC;IACF,CAAC;IAED,IAAI,IAAI,KAAK,uBAAuB,EAAE,CAAC;QACtC,IACC,aAAa,KAAK,SAAS;YAC3B,aAAa,KAAK,IAAI;YACtB,OAAO,aAAa,KAAK,QAAQ;YACjC,CAAC,CAAC,YAAY,IAAK,aAAyC,CAAC,EAC5D,CAAC;YACF,MAAM,IAAI,KAAK,CACd,4GAA4G,CAC5G,CAAC;QACH,CAAC;IACF,CAAC;SAAM,IAAI,aAAa,KAAK,SAAS,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;QAClE,MAAM,IAAI,KAAK,CACd,sIAAsI,CACtI,CAAC;IACH,CAAC;IAED,MAAM,IAAI,GAAkB;QAC3B,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,IAAI;QACJ,GAAG,CAAC,IAAI,KAAK,uBAAuB,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,aAA2C,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvG,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI;QAC9B,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACpC,CAAC;IAEF,MAAM,WAAW,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,OAAgB,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;IACrF,IAAI,EAAE,KAAK,QAAQ,EAAE,CAAC;QACrB,mBAAmB,CAAC,GAAG,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;IAC7C,CAAC;SAAM,CAAC;QACP,oBAAoB,CAAC,GAAG,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,IAAI,GAAG,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC;IACtD,OAAO;QACN,OAAO,EAAE,SAAS;QAClB,OAAO,EAAE;YACR;gBACC,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,2BAA2B,IAAI,IAAI,IAAI,0BAA0B,MAAM,CAAC,UAAU,KAAK,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,SAAS,OAAO,cAAc,CAAC,GAAG,CAAC,EAAE;aAC/J;SACD;KACD,CAAC;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,9 @@
1
1
  {
2
2
  "name": "@davidorex/pi-context",
3
- "version": "0.26.0",
3
+ "version": "0.28.1",
4
+ "publishConfig": {
5
+ "access": "public"
6
+ },
4
7
  "description": "Schema-driven project state management for Pi",
5
8
  "license": "MIT",
6
9
  "author": "David Ryan",
@@ -25,6 +28,18 @@
25
28
  "types": "./dist/block-api.d.ts",
26
29
  "default": "./dist/block-api.js"
27
30
  },
31
+ "./content-hash": {
32
+ "types": "./dist/content-hash.d.ts",
33
+ "default": "./dist/content-hash.js"
34
+ },
35
+ "./git-env": {
36
+ "types": "./dist/git-env.d.ts",
37
+ "default": "./dist/git-env.js"
38
+ },
39
+ "./object-store": {
40
+ "types": "./dist/object-store.d.ts",
41
+ "default": "./dist/object-store.js"
42
+ },
28
43
  "./schema-validator": {
29
44
  "types": "./dist/schema-validator.d.ts",
30
45
  "default": "./dist/schema-validator.js"
@@ -37,6 +52,10 @@
37
52
  "types": "./dist/context-dir.d.ts",
38
53
  "default": "./dist/context-dir.js"
39
54
  },
55
+ "./context-registry": {
56
+ "types": "./dist/context-registry.d.ts",
57
+ "default": "./dist/context-registry.js"
58
+ },
40
59
  "./context-sdk": {
41
60
  "types": "./dist/context-sdk.d.ts",
42
61
  "default": "./dist/context-sdk.js"
@@ -45,6 +64,10 @@
45
64
  "types": "./dist/context.d.ts",
46
65
  "default": "./dist/context.js"
47
66
  },
67
+ "./promote-item": {
68
+ "types": "./dist/promote-item.d.ts",
69
+ "default": "./dist/promote-item.js"
70
+ },
48
71
  "./dispatch-context": {
49
72
  "types": "./dist/dispatch-context.d.ts",
50
73
  "default": "./dist/dispatch-context.js"
@@ -69,7 +92,16 @@
69
92
  "types": "./dist/samples-catalog.d.ts",
70
93
  "default": "./dist/samples-catalog.js"
71
94
  },
95
+ "./read-element": {
96
+ "types": "./dist/read-element.d.ts",
97
+ "default": "./dist/read-element.js"
98
+ },
99
+ "./ops": {
100
+ "types": "./dist/ops-registry.d.ts",
101
+ "default": "./dist/ops-registry.js"
102
+ },
72
103
  "./schemas/config.schema.json": "./schemas/config.schema.json",
104
+ "./schemas/context-registry.schema.json": "./schemas/context-registry.schema.json",
73
105
  "./schemas/relations.schema.json": "./schemas/relations.schema.json",
74
106
  "./schemas/priority.schema.json": "./schemas/priority.schema.json",
75
107
  "./schemas/status.schema.json": "./schemas/status.schema.json",
@@ -95,7 +127,7 @@
95
127
  ],
96
128
  "scripts": {
97
129
  "clean": "rm -rf dist",
98
- "build": "tsc -p tsconfig.build.json",
130
+ "build": "rm -rf dist && tsc -p tsconfig.build.json",
99
131
  "prepublishOnly": "npm run clean && npm run build",
100
132
  "test": "tsx --test src/*.test.ts"
101
133
  },
@@ -104,6 +136,7 @@
104
136
  "typebox": "^1.1.24",
105
137
  "ajv": "^8.17.1",
106
138
  "ajv-formats": "^3.0.1",
139
+ "canonicalize": "^2.0.0",
107
140
  "proper-lockfile": "^4.1.2"
108
141
  },
109
142
  "devDependencies": {
@@ -0,0 +1,3 @@
1
+ {
2
+ "work_orders": []
3
+ }
@@ -120,6 +120,14 @@
120
120
  "schema_path": "schemas/story.schema.json",
121
121
  "array_key": "stories",
122
122
  "data_path": "story.json"
123
+ },
124
+ {
125
+ "canonical_id": "work-orders",
126
+ "display_name": "Work Orders",
127
+ "prefix": "WO-",
128
+ "schema_path": "schemas/work-orders.schema.json",
129
+ "array_key": "work_orders",
130
+ "data_path": "work-orders.json"
123
131
  }
124
132
  ],
125
133
  "relation_types": [
@@ -318,6 +326,13 @@
318
326
  "category": "data_flow",
319
327
  "source_kinds": ["tasks"],
320
328
  "target_kinds": ["decisions"]
329
+ },
330
+ {
331
+ "canonical_id": "item_derived_from_item",
332
+ "display_name": "derived from",
333
+ "category": "data_flow",
334
+ "source_kinds": ["*"],
335
+ "target_kinds": ["*"]
321
336
  }
322
337
  ],
323
338
  "lenses": [
@@ -365,7 +380,8 @@
365
380
  "conventions",
366
381
  "context-contracts",
367
382
  "phase",
368
- "story"
383
+ "story",
384
+ "work-orders"
369
385
  ],
370
386
  "installed_blocks": [
371
387
  "decisions",
@@ -382,7 +398,8 @@
382
398
  "conventions",
383
399
  "context-contracts",
384
400
  "phase",
385
- "story"
401
+ "story",
402
+ "work-orders"
386
403
  ],
387
404
  "invariants": [
388
405
  {
@@ -463,5 +480,7 @@
463
480
  "severity": "warning",
464
481
  "message": "Task '{id}' is governed by a superseded or cancelled decision"
465
482
  }
466
- ]
483
+ ],
484
+ "tool_operations": [],
485
+ "tool_operations_forbidden": []
467
486
  }