@davidorex/pi-jit-agents 0.14.6 → 0.28.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 (96) hide show
  1. package/CHANGELOG.md +49 -0
  2. package/README.md +2 -2
  3. package/dist/agent-spec.d.ts.map +1 -1
  4. package/dist/agent-spec.js +69 -5
  5. package/dist/agent-spec.js.map +1 -1
  6. package/dist/budget-enforcer.d.ts +43 -0
  7. package/dist/budget-enforcer.d.ts.map +1 -0
  8. package/dist/budget-enforcer.js +172 -0
  9. package/dist/budget-enforcer.js.map +1 -0
  10. package/dist/compile.d.ts +39 -0
  11. package/dist/compile.d.ts.map +1 -1
  12. package/dist/compile.js +363 -24
  13. package/dist/compile.js.map +1 -1
  14. package/dist/dispatch-inline.d.ts +25 -0
  15. package/dist/dispatch-inline.d.ts.map +1 -0
  16. package/dist/dispatch-inline.js +41 -0
  17. package/dist/dispatch-inline.js.map +1 -0
  18. package/dist/field-path.d.ts +32 -0
  19. package/dist/field-path.d.ts.map +1 -0
  20. package/dist/field-path.js +48 -0
  21. package/dist/field-path.js.map +1 -0
  22. package/dist/index.d.ts +11 -4
  23. package/dist/index.d.ts.map +1 -1
  24. package/dist/index.js +9 -4
  25. package/dist/index.js.map +1 -1
  26. package/dist/jit-runtime.d.ts +14 -3
  27. package/dist/jit-runtime.d.ts.map +1 -1
  28. package/dist/jit-runtime.js +41 -5
  29. package/dist/jit-runtime.js.map +1 -1
  30. package/dist/markers.d.ts +28 -0
  31. package/dist/markers.d.ts.map +1 -0
  32. package/dist/markers.js +36 -0
  33. package/dist/markers.js.map +1 -0
  34. package/dist/renderer-registry.d.ts +60 -0
  35. package/dist/renderer-registry.d.ts.map +1 -0
  36. package/dist/renderer-registry.js +141 -0
  37. package/dist/renderer-registry.js.map +1 -0
  38. package/dist/template.d.ts +15 -0
  39. package/dist/template.d.ts.map +1 -1
  40. package/dist/template.js +29 -3
  41. package/dist/template.js.map +1 -1
  42. package/dist/trace-redactor.d.ts +1 -1
  43. package/dist/trace-redactor.js +1 -1
  44. package/dist/trace-writer.js +2 -2
  45. package/dist/types.d.ts +86 -4
  46. package/dist/types.d.ts.map +1 -1
  47. package/package.json +11 -4
  48. package/schemas/agent-trace.schema.json +30 -2
  49. package/templates/analyzers/base-analyzer.md +9 -0
  50. package/templates/analyzers/patterns-task.md +11 -0
  51. package/templates/analyzers/patterns.md +15 -0
  52. package/templates/analyzers/quality-task.md +11 -0
  53. package/templates/analyzers/quality.md +15 -0
  54. package/templates/analyzers/structure-task.md +17 -0
  55. package/templates/analyzers/structure.md +15 -0
  56. package/templates/architecture-designer/task.md +117 -0
  57. package/templates/architecture-inferrer/task.md +61 -0
  58. package/templates/audit-finding-verifier/task.md +59 -0
  59. package/templates/audit-fixer/task.md +67 -0
  60. package/templates/audit-results-router/task.md +37 -0
  61. package/templates/decomposer/task.md +56 -0
  62. package/templates/explorer/system.md +3 -0
  63. package/templates/explorer/task.md +9 -0
  64. package/templates/gap-identifier/task.md +103 -0
  65. package/templates/gap-resolution-assessor/task.md +48 -0
  66. package/templates/handoff-writer/task.md +101 -0
  67. package/templates/investigator/task.md +30 -0
  68. package/templates/items/architecture.md +33 -0
  69. package/templates/items/conformance.md +26 -0
  70. package/templates/items/conventions.md +19 -0
  71. package/templates/items/decisions.md +47 -0
  72. package/templates/items/domain.md +21 -0
  73. package/templates/items/features.md +63 -0
  74. package/templates/items/framework-gaps.md +43 -0
  75. package/templates/items/issues.md +21 -0
  76. package/templates/items/layer-plans.md +50 -0
  77. package/templates/items/project.md +48 -0
  78. package/templates/items/requirements.md +20 -0
  79. package/templates/items/research.md +57 -0
  80. package/templates/items/spec-reviews.md +51 -0
  81. package/templates/items/tasks.md +29 -0
  82. package/templates/phase-author/task.md +82 -0
  83. package/templates/plan-creator/task.md +143 -0
  84. package/templates/plan-decomposer/task.md +46 -0
  85. package/templates/project-definer/task.md +67 -0
  86. package/templates/project-inferrer/task.md +56 -0
  87. package/templates/requirements-gatherer/task.md +90 -0
  88. package/templates/researcher/task.md +26 -0
  89. package/templates/shared/macros.md +169 -0
  90. package/templates/shared/render-helpers.md +106 -0
  91. package/templates/spec-implementer/task.md +53 -0
  92. package/templates/synthesizer/system.md +3 -0
  93. package/templates/synthesizer/task.md +38 -0
  94. package/templates/task-verifier/task.md +44 -0
  95. package/templates/task-worker/task.md +52 -0
  96. package/templates/verifier/task.md +57 -0
package/dist/index.d.ts CHANGED
@@ -7,15 +7,22 @@
7
7
  export { createAgentLoader, parseAgentYaml } from "./agent-spec.js";
8
8
  export type { AgentTraceQuery } from "./agent-trace-sdk.js";
9
9
  export { agentTrace, agentTraceChildren, agentTraceEntry } from "./agent-trace-sdk.js";
10
- export { compileAgent } from "./compile.js";
10
+ export type { BudgetResult, BudgetWarning, PromptBudget } from "./budget-enforcer.js";
11
+ export { enforceBudget } from "./budget-enforcer.js";
12
+ export { compileAgent, registerCompositionGlobals } from "./compile.js";
13
+ export { dispatchInlineMacro } from "./dispatch-inline.js";
11
14
  export * from "./errors.js";
15
+ export { expandFieldPathShorthand } from "./field-path.js";
12
16
  export { agentContract } from "./introspect.js";
13
17
  export type { CompleteFn, NormalizedToolChoice } from "./jit-runtime.js";
14
- export { buildPhantomTool, executeAgent, normalizeToolChoice } from "./jit-runtime.js";
18
+ export { buildPhantomTool, executeAgent, GrantViolationError, normalizeToolChoice } from "./jit-runtime.js";
19
+ export { cycleMarker, notFoundMarker, renderErrorMarker, unrenderedMarker } from "./markers.js";
20
+ export type { ItemMacroRef, RendererRegistry } from "./renderer-registry.js";
21
+ export { CANONICAL_MACRO_NAMES, createRendererRegistry } from "./renderer-registry.js";
15
22
  export type { TemplateEnvContext } from "./template.js";
16
- export { createTemplateEnv, renderTemplate, renderTemplateFile } from "./template.js";
23
+ export { bundledTemplateDir, createTemplateEnv, renderTemplate, renderTemplateFile } from "./template.js";
17
24
  export type { RedactionConfig, RedactionPattern } from "./trace-redactor.js";
18
- export { BUILTIN_PATTERNS, loadProjectRedactionConfig, redactLlmResponse, redactSensitiveData, } from "./trace-redactor.js";
25
+ export { BUILTIN_PATTERNS, loadContextRedactionConfig, redactLlmResponse, redactSensitiveData, } from "./trace-redactor.js";
19
26
  export type { WriteTraceOptions } from "./trace-writer.js";
20
27
  export { dateRotatedPath, writeAgentTrace } from "./trace-writer.js";
21
28
  export * from "./types.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACpE,YAAY,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvF,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvF,YAAY,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACtF,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE7E,OAAO,EACN,gBAAgB,EAChB,0BAA0B,EAC1B,iBAAiB,EACjB,mBAAmB,GACnB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACrE,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACpE,YAAY,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvF,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACtF,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5G,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChG,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC7E,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AACvF,YAAY,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAC1G,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE7E,OAAO,EACN,gBAAgB,EAChB,0BAA0B,EAC1B,iBAAiB,EACjB,mBAAmB,GACnB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACrE,cAAc,YAAY,CAAC"}
package/dist/index.js CHANGED
@@ -6,13 +6,18 @@
6
6
  */
7
7
  export { createAgentLoader, parseAgentYaml } from "./agent-spec.js";
8
8
  export { agentTrace, agentTraceChildren, agentTraceEntry } from "./agent-trace-sdk.js";
9
- export { compileAgent } from "./compile.js";
9
+ export { enforceBudget } from "./budget-enforcer.js";
10
+ export { compileAgent, registerCompositionGlobals } from "./compile.js";
11
+ export { dispatchInlineMacro } from "./dispatch-inline.js";
10
12
  export * from "./errors.js";
13
+ export { expandFieldPathShorthand } from "./field-path.js";
11
14
  export { agentContract } from "./introspect.js";
12
- export { buildPhantomTool, executeAgent, normalizeToolChoice } from "./jit-runtime.js";
13
- export { createTemplateEnv, renderTemplate, renderTemplateFile } from "./template.js";
15
+ export { buildPhantomTool, executeAgent, GrantViolationError, normalizeToolChoice } from "./jit-runtime.js";
16
+ export { cycleMarker, notFoundMarker, renderErrorMarker, unrenderedMarker } from "./markers.js";
17
+ export { CANONICAL_MACRO_NAMES, createRendererRegistry } from "./renderer-registry.js";
18
+ export { bundledTemplateDir, createTemplateEnv, renderTemplate, renderTemplateFile } from "./template.js";
14
19
  // Trace subsystem (issue-023)
15
- export { BUILTIN_PATTERNS, loadProjectRedactionConfig, redactLlmResponse, redactSensitiveData, } from "./trace-redactor.js";
20
+ export { BUILTIN_PATTERNS, loadContextRedactionConfig, redactLlmResponse, redactSensitiveData, } from "./trace-redactor.js";
16
21
  export { dateRotatedPath, writeAgentTrace } from "./trace-writer.js";
17
22
  export * from "./types.js";
18
23
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEpE,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvF,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAEvF,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAEtF,8BAA8B;AAC9B,OAAO,EACN,gBAAgB,EAChB,0BAA0B,EAC1B,iBAAiB,EACjB,mBAAmB,GACnB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACrE,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEpE,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvF,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5G,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhG,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAEvF,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAE1G,8BAA8B;AAC9B,OAAO,EACN,gBAAgB,EAChB,0BAA0B,EAC1B,iBAAiB,EACjB,mBAAmB,GACnB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACrE,cAAc,YAAY,CAAC"}
@@ -1,6 +1,17 @@
1
- import type { Api, Tool } from "@mariozechner/pi-ai";
2
- import { complete as piAiComplete } from "@mariozechner/pi-ai";
1
+ import type { Api, Tool } from "@earendil-works/pi-ai";
2
+ import { complete as piAiComplete } from "@earendil-works/pi-ai";
3
3
  import type { CompiledAgent, DispatchContext, JitAgentResult } from "./types.js";
4
+ /**
5
+ * Thrown by executeAgent when the compiled agent's tool grant is not a subset
6
+ * of the caller-supplied parent grant. Enforces DEC-0047 capability-clamp at
7
+ * the dispatch boundary: a child agent cannot acquire tools the parent has
8
+ * not been granted (default-empty — parentGrant undefined === empty set).
9
+ */
10
+ export declare class GrantViolationError extends Error {
11
+ readonly agentName: string;
12
+ readonly violating: string[];
13
+ constructor(agentName: string, violating: string[]);
14
+ }
4
15
  /**
5
16
  * Injection point for the pi-ai `complete` function. Defaults to the real
6
17
  * implementation. Tests override via the optional `completeFn` parameter on
@@ -56,7 +67,7 @@ export type NormalizedToolChoice = {
56
67
  * / Google providers is collapsed here, not at each consumer call site.
57
68
  *
58
69
  * Coverage map (pi-ai 0.70.2 — verified against
59
- * `node_modules/@mariozechner/pi-ai/dist/providers/*`):
70
+ * `node_modules/@earendil-works/pi-ai/dist/providers/*`):
60
71
  *
61
72
  * - `anthropic-messages` — passes object through unchanged. Anthropic
62
73
  * Messages API expects `{type:"tool", name}`.
@@ -1 +1 @@
1
- {"version":3,"file":"jit-runtime.d.ts","sourceRoot":"","sources":["../src/jit-runtime.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,GAAG,EAAkD,IAAI,EAAY,MAAM,qBAAqB,CAAC;AAC/G,OAAO,EAAE,QAAQ,IAAI,YAAY,EAAQ,MAAM,qBAAqB,CAAC;AAUrE,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAwJjF;;;;GAIG;AACH,MAAM,MAAM,UAAU,GAAG,OAAO,YAAY,CAAC;AAE7C;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAC/B,UAAU,EAAE,MAAM,EAClB,QAAQ,SAAe,EACvB,WAAW,SAA4B,GACrC,IAAI,CASN;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,MAAM,oBAAoB,GAC7B;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC9B;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,GAChD,KAAK,CAAC;AAET;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,GAAG,oBAAoB,CAkBpF;AAyFD;;;;;;;;;;;;GAYG;AACH,wBAAsB,YAAY,CACjC,QAAQ,EAAE,aAAa,EACvB,QAAQ,EAAE,eAAe,EACzB,UAAU,GAAE,UAAyB,GACnC,OAAO,CAAC,cAAc,CAAC,CAoSzB"}
1
+ {"version":3,"file":"jit-runtime.d.ts","sourceRoot":"","sources":["../src/jit-runtime.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,GAAG,EAAkD,IAAI,EAAY,MAAM,uBAAuB,CAAC;AACjH,OAAO,EAAE,QAAQ,IAAI,YAAY,EAAQ,MAAM,uBAAuB,CAAC;AAUvE,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAmCjF;;;;;GAKG;AACH,qBAAa,mBAAoB,SAAQ,KAAK;aAE5B,SAAS,EAAE,MAAM;aACjB,SAAS,EAAE,MAAM,EAAE;gBADnB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EAAE;CAOpC;AAmID;;;;GAIG;AACH,MAAM,MAAM,UAAU,GAAG,OAAO,YAAY,CAAC;AAE7C;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAC/B,UAAU,EAAE,MAAM,EAClB,QAAQ,SAAe,EACvB,WAAW,SAA4B,GACrC,IAAI,CASN;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,MAAM,oBAAoB,GAC7B;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC9B;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,GAChD,KAAK,CAAC;AAET;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,GAAG,oBAAoB,CAkBpF;AAyFD;;;;;;;;;;;;GAYG;AACH,wBAAsB,YAAY,CACjC,QAAQ,EAAE,aAAa,EACvB,QAAQ,EAAE,eAAe,EACzB,UAAU,GAAE,UAAyB,GACnC,OAAO,CAAC,cAAc,CAAC,CA8SzB"}
@@ -17,10 +17,10 @@
17
17
  * schema-bound output in this release.
18
18
  */
19
19
  import fs from "node:fs";
20
- import { validateFromFile } from "@davidorex/pi-project/schema-validator";
21
- import { complete as piAiComplete, Type } from "@mariozechner/pi-ai";
20
+ import { validateFromFile } from "@davidorex/pi-context/schema-validator";
21
+ import { complete as piAiComplete, Type } from "@earendil-works/pi-ai";
22
22
  import { AgentDispatchError } from "./errors.js";
23
- import { loadProjectRedactionConfig, redactLlmResponse, redactSensitiveData, } from "./trace-redactor.js";
23
+ import { loadContextRedactionConfig, redactLlmResponse, redactSensitiveData, } from "./trace-redactor.js";
24
24
  import { writeAgentTrace } from "./trace-writer.js";
25
25
  /**
26
26
  * Minimal ULID generator (Crockford base32, 26 chars: 10 timestamp + 16 random).
@@ -53,6 +53,33 @@ function newUlid(now = Date.now()) {
53
53
  }
54
54
  return tsChars.join("") + randChars.join("");
55
55
  }
56
+ /**
57
+ * Thrown by executeAgent when the compiled agent's tool grant is not a subset
58
+ * of the caller-supplied parent grant. Enforces DEC-0047 capability-clamp at
59
+ * the dispatch boundary: a child agent cannot acquire tools the parent has
60
+ * not been granted (default-empty — parentGrant undefined === empty set).
61
+ */
62
+ export class GrantViolationError extends Error {
63
+ agentName;
64
+ violating;
65
+ constructor(agentName, violating) {
66
+ super(`Agent '${agentName}' grant violation: tools [${violating.join(", ")}] not in parent grant (DEC-0047 clamp at executeAgent boundary)`);
67
+ this.agentName = agentName;
68
+ this.violating = violating;
69
+ this.name = "GrantViolationError";
70
+ }
71
+ }
72
+ /**
73
+ * Compute the set of child-requested tools that are not present in the parent
74
+ * grant. Both arguments treat `undefined` as the empty set (default-empty
75
+ * semantics per DEC-0047 — capability is never implicitly inherited).
76
+ */
77
+ function computeGrantViolation(childTools, parentGrant) {
78
+ const child = childTools ?? [];
79
+ const parent = parentGrant ?? [];
80
+ const parentSet = new Set(parent);
81
+ return child.filter((t) => !parentSet.has(t));
82
+ }
56
83
  /**
57
84
  * Recursively redact string leaves of an arbitrary value. Numbers, booleans,
58
85
  * null, and undefined pass through unchanged. Strings run through
@@ -194,7 +221,7 @@ export function buildPhantomTool(schemaPath, toolName = "jit_result", descriptio
194
221
  * / Google providers is collapsed here, not at each consumer call site.
195
222
  *
196
223
  * Coverage map (pi-ai 0.70.2 — verified against
197
- * `node_modules/@mariozechner/pi-ai/dist/providers/*`):
224
+ * `node_modules/@earendil-works/pi-ai/dist/providers/*`):
198
225
  *
199
226
  * - `anthropic-messages` — passes object through unchanged. Anthropic
200
227
  * Messages API expects `{type:"tool", name}`.
@@ -349,7 +376,7 @@ export async function executeAgent(compiled, dispatch, completeFn = piAiComplete
349
376
  let redactionConfig;
350
377
  if (tracingEnabled && typeof dispatch.redactionConfigPath === "string") {
351
378
  try {
352
- const patterns = loadProjectRedactionConfig(dispatch.redactionConfigPath);
379
+ const patterns = loadContextRedactionConfig(dispatch.redactionConfigPath);
353
380
  redactionConfig = { patterns };
354
381
  }
355
382
  catch (err) {
@@ -375,6 +402,15 @@ export async function executeAgent(compiled, dispatch, completeFn = piAiComplete
375
402
  cwd: process.cwd(),
376
403
  }, tracePath);
377
404
  }
405
+ // --- DEC-0047 capability-clamp ------------------------------------------
406
+ // Child's tool grant must be a subset of caller's parent grant. Undefined
407
+ // on either side means empty set (default-empty: capability is never
408
+ // implicitly inherited — it must be explicitly granted at every boundary).
409
+ // Throws BEFORE any LLM dispatch so violating agents incur no token cost.
410
+ const violating = computeGrantViolation(compiled.tools, dispatch.parentGrant);
411
+ if (violating.length > 0) {
412
+ throw new GrantViolationError(compiled.spec.name, violating);
413
+ }
378
414
  // --- Existing dispatch logic --------------------------------------------
379
415
  const messages = [
380
416
  {
@@ -1 +1 @@
1
- {"version":3,"file":"jit-runtime.js","sourceRoot":"","sources":["../src/jit-runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"jit-runtime.js","sourceRoot":"","sources":["../src/jit-runtime.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Composition-time marker formatters.
3
+ *
4
+ * Four marker shapes are produced by both `renderItemById` (pi-workflows) and
5
+ * `render_recursive` (pi-jit-agents/compile.ts) when composition cannot
6
+ * proceed in the happy path:
7
+ *
8
+ * - `[not-found: <id>]` — resolver miss; id is not present in the
9
+ * built id-index.
10
+ * - `[unrendered: <kind>/<id>]`— registry miss; the renderer registry has no
11
+ * per-item macro for the item's block kind.
12
+ * - `[render_error: <msg>]` — exception path during macro inline render
13
+ * (file-read failure or Nunjucks render error).
14
+ * The caller composes the contextual prefix
15
+ * (typically `<kind>/<id>: <detail>`) since
16
+ * the prefix shape varies by emit site.
17
+ * - `[cycle: <id>]` — back-edge in the cross-reference graph
18
+ * detected during a recursive descent.
19
+ *
20
+ * The output strings are byte-identical to the inline templates these helpers
21
+ * replaced; existing test assertions match the literal forms. Future drift in
22
+ * marker text propagates through these formatters in a single edit.
23
+ */
24
+ export declare function notFoundMarker(id: string): string;
25
+ export declare function unrenderedMarker(kind: string, id: string): string;
26
+ export declare function renderErrorMarker(msg: string): string;
27
+ export declare function cycleMarker(id: string): string;
28
+ //# sourceMappingURL=markers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"markers.d.ts","sourceRoot":"","sources":["../src/markers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAEjE;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAErD;AAED,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAE9C"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Composition-time marker formatters.
3
+ *
4
+ * Four marker shapes are produced by both `renderItemById` (pi-workflows) and
5
+ * `render_recursive` (pi-jit-agents/compile.ts) when composition cannot
6
+ * proceed in the happy path:
7
+ *
8
+ * - `[not-found: <id>]` — resolver miss; id is not present in the
9
+ * built id-index.
10
+ * - `[unrendered: <kind>/<id>]`— registry miss; the renderer registry has no
11
+ * per-item macro for the item's block kind.
12
+ * - `[render_error: <msg>]` — exception path during macro inline render
13
+ * (file-read failure or Nunjucks render error).
14
+ * The caller composes the contextual prefix
15
+ * (typically `<kind>/<id>: <detail>`) since
16
+ * the prefix shape varies by emit site.
17
+ * - `[cycle: <id>]` — back-edge in the cross-reference graph
18
+ * detected during a recursive descent.
19
+ *
20
+ * The output strings are byte-identical to the inline templates these helpers
21
+ * replaced; existing test assertions match the literal forms. Future drift in
22
+ * marker text propagates through these formatters in a single edit.
23
+ */
24
+ export function notFoundMarker(id) {
25
+ return `[not-found: ${id}]`;
26
+ }
27
+ export function unrenderedMarker(kind, id) {
28
+ return `[unrendered: ${kind}/${id}]`;
29
+ }
30
+ export function renderErrorMarker(msg) {
31
+ return `[render_error: ${msg}]`;
32
+ }
33
+ export function cycleMarker(id) {
34
+ return `[cycle: ${id}]`;
35
+ }
36
+ //# sourceMappingURL=markers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"markers.js","sourceRoot":"","sources":["../src/markers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,MAAM,UAAU,cAAc,CAAC,EAAU;IACxC,OAAO,eAAe,EAAE,GAAG,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAAY,EAAE,EAAU;IACxD,OAAO,gBAAgB,IAAI,IAAI,EAAE,GAAG,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,GAAW;IAC5C,OAAO,kBAAkB,GAAG,GAAG,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,EAAU;IACrC,OAAO,WAAW,EAAE,GAAG,CAAC;AACzB,CAAC"}
@@ -0,0 +1,60 @@
1
+ export type ItemMacroRef = {
2
+ templatePath: string;
3
+ macroName: string;
4
+ };
5
+ export interface RendererRegistry {
6
+ /**
7
+ * Look up the per-item macro reference for a block kind. Returns `null` if
8
+ * no tier yields a matching `items/<kind>.md` file and no in-memory
9
+ * registration exists for the kind.
10
+ */
11
+ lookup(blockKind: string): ItemMacroRef | null;
12
+ /**
13
+ * Register an explicit macro reference for a block kind. Subsequent
14
+ * `lookup` calls for that kind return the registered ref unconditionally,
15
+ * bypassing all three-tier filesystem resolution. In-memory only; never
16
+ * writes to disk.
17
+ */
18
+ register(blockKind: string, ref: ItemMacroRef): void;
19
+ }
20
+ export interface CreateRendererRegistryOptions {
21
+ /** Project root. Resolves the project-tier path. */
22
+ cwd: string;
23
+ /** Optional consumer-supplied bundled templates directory (the third tier). */
24
+ builtinDir?: string;
25
+ /** Test hook to override the user tier. Defaults to `~/.pi/agent/templates/`. */
26
+ userDir?: string;
27
+ }
28
+ /**
29
+ * Canonical per-item macro names + schema array_keys for the block kinds
30
+ * shipped by templates/items/. Encodes both the semantic granularity each
31
+ * macro renders (one architecture record, one principle inside a
32
+ * conformance-reference, one decision, etc.) AND the schema's actual data
33
+ * key under which the array of items lives — block_kind ≠ array_key for
34
+ * several conception entries (framework-gaps→gaps, layer-plans→plans,
35
+ * spec-reviews→reviews, work-orders→work_orders, verification→verifications,
36
+ * conventions→rules, context-contracts→contracts, phase→phases,
37
+ * story→stories, rationale→rationales).
38
+ *
39
+ * array_key values match packages/pi-context/samples/conception.json
40
+ * block_kinds[] verbatim for every entry present there. Entries not in the
41
+ * conception (architecture / conformance-reference / domain / project —
42
+ * historical block kinds without a conception counterpart) carry array_key
43
+ * equal to the block_kind for consistency with the algorithmic-derivation
44
+ * fallback in resolveMacroName.
45
+ *
46
+ * Exposed read-only so consumers (and tests) can mirror the registry's
47
+ * resolution rules without re-deriving them. Adding a new shipped block
48
+ * kind requires adding its entry here in the same change.
49
+ */
50
+ export declare const CANONICAL_MACRO_NAMES: Readonly<Record<string, {
51
+ macro_name: string;
52
+ array_key: string;
53
+ }>>;
54
+ /**
55
+ * Create a renderer registry bound to a project root and optional builtin
56
+ * templates directory. The returned object holds an in-memory override map
57
+ * but does not cache filesystem lookups — see file header for rationale.
58
+ */
59
+ export declare function createRendererRegistry(opts: CreateRendererRegistryOptions): RendererRegistry;
60
+ //# sourceMappingURL=renderer-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"renderer-registry.d.ts","sourceRoot":"","sources":["../src/renderer-registry.ts"],"names":[],"mappings":"AAkDA,MAAM,MAAM,YAAY,GAAG;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvE,MAAM,WAAW,gBAAgB;IAChC;;;;OAIG;IACH,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAAC;IAE/C;;;;;OAKG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,GAAG,IAAI,CAAC;CACrD;AAED,MAAM,WAAW,6BAA6B;IAC7C,oDAAoD;IACpD,GAAG,EAAE,MAAM,CAAC;IACZ,+EAA+E;IAC/E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iFAAiF;IACjF,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,qBAAqB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,CAiBrG,CAAC;AAwBF;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,6BAA6B,GAAG,gBAAgB,CAgC5F"}
@@ -0,0 +1,141 @@
1
+ /**
2
+ * Renderer registry — maps block kinds to per-item Nunjucks macro references.
3
+ *
4
+ * Wave 1 foundation work for the per-item-macros plan. Plans 4 and 6+ consume
5
+ * this registry to look up `{ templatePath, macroName }` for a given block
6
+ * kind, then call `{% from <templatePath> import <macroName> %}` inside
7
+ * Nunjucks. The registry itself does not perform rendering; it only resolves
8
+ * where a per-item macro lives.
9
+ *
10
+ * Three-tier discovery mirrors `createTemplateEnv` in `template.ts`:
11
+ * 1. Project: `<cwd>/.pi/templates/items/<kind>.md`
12
+ * 2. User: `<userDir ?? ~/.pi/agent/templates>/items/<kind>.md`
13
+ * 3. Builtin: `<builtinDir>/items/<kind>.md` (only when `builtinDir` is set)
14
+ *
15
+ * First match wins; absent macros return `null` (the per-item macros that
16
+ * Plans 6, 7, 8 deliver do not yet exist on disk — the registry must be
17
+ * tolerant of this state).
18
+ *
19
+ * Macro-name derivation:
20
+ * The canonical Plan-6/7/8 macro name for each shipped block kind is held
21
+ * in CANONICAL_MACRO_NAMES below. These names are not algorithmically
22
+ * derivable from kind names — they encode the per-block semantic
23
+ * granularity (e.g. `architecture` → `render_architecture_item`,
24
+ * `conformance-reference` → `render_conformance_principle`,
25
+ * `decisions` → `render_decision`). For kinds NOT in the map, the
26
+ * fallback derivation `render_<kind_underscored>` (hyphens → underscores)
27
+ * applies — preserving compatibility for any consumer-supplied kind not
28
+ * shipped here.
29
+ *
30
+ * Holding the map in the registry means the per-item macro files no
31
+ * longer need to ship alias bridge macros to reconcile a registry-default
32
+ * plural name (e.g. `render_decisions`) against the canonical singular
33
+ * (`render_decision`). The registry directly looks up the canonical
34
+ * name and `render_recursive` dispatches to it.
35
+ *
36
+ * Resolution is performed lazily on each `lookup` call. There is no caching:
37
+ * users may add `.pi/templates/items/*.md` overrides between calls and the
38
+ * registry must observe them. This mirrors the runtime template-env model
39
+ * where the Environment is constructed once but the FileSystemLoader
40
+ * resolves on each render. If a future profiling pass shows lookup overhead
41
+ * to be material, a cache may be added — its lifecycle should be explicitly
42
+ * documented at that time.
43
+ *
44
+ * `register` overrides take precedence over filesystem resolution and
45
+ * persist for the registry instance's lifetime.
46
+ */
47
+ import fs from "node:fs";
48
+ import os from "node:os";
49
+ import path from "node:path";
50
+ /**
51
+ * Canonical per-item macro names + schema array_keys for the block kinds
52
+ * shipped by templates/items/. Encodes both the semantic granularity each
53
+ * macro renders (one architecture record, one principle inside a
54
+ * conformance-reference, one decision, etc.) AND the schema's actual data
55
+ * key under which the array of items lives — block_kind ≠ array_key for
56
+ * several conception entries (framework-gaps→gaps, layer-plans→plans,
57
+ * spec-reviews→reviews, work-orders→work_orders, verification→verifications,
58
+ * conventions→rules, context-contracts→contracts, phase→phases,
59
+ * story→stories, rationale→rationales).
60
+ *
61
+ * array_key values match packages/pi-context/samples/conception.json
62
+ * block_kinds[] verbatim for every entry present there. Entries not in the
63
+ * conception (architecture / conformance-reference / domain / project —
64
+ * historical block kinds without a conception counterpart) carry array_key
65
+ * equal to the block_kind for consistency with the algorithmic-derivation
66
+ * fallback in resolveMacroName.
67
+ *
68
+ * Exposed read-only so consumers (and tests) can mirror the registry's
69
+ * resolution rules without re-deriving them. Adding a new shipped block
70
+ * kind requires adding its entry here in the same change.
71
+ */
72
+ export const CANONICAL_MACRO_NAMES = Object.freeze({
73
+ architecture: { macro_name: "render_architecture_item", array_key: "architecture" },
74
+ "conformance-reference": { macro_name: "render_conformance_principle", array_key: "conformance-reference" },
75
+ conventions: { macro_name: "render_convention", array_key: "rules" },
76
+ decisions: { macro_name: "render_decision", array_key: "decisions" },
77
+ domain: { macro_name: "render_domain_entry", array_key: "domain" },
78
+ features: { macro_name: "render_feature", array_key: "features" },
79
+ "framework-gaps": { macro_name: "render_framework_gap", array_key: "gaps" },
80
+ issues: { macro_name: "render_issue", array_key: "issues" },
81
+ "layer-plans": { macro_name: "render_layer_plan", array_key: "plans" },
82
+ project: { macro_name: "render_project_item", array_key: "project" },
83
+ requirements: { macro_name: "render_requirement", array_key: "requirements" },
84
+ research: { macro_name: "render_research", array_key: "research" },
85
+ "spec-reviews": { macro_name: "render_spec_review", array_key: "reviews" },
86
+ tasks: { macro_name: "render_task", array_key: "tasks" },
87
+ });
88
+ /**
89
+ * Resolve the macro name for a block kind. Returns the canonical name from
90
+ * CANONICAL_MACRO_NAMES when present; otherwise falls back to the
91
+ * algorithmic derivation `render_<kind>` (hyphens → underscores) so kinds
92
+ * not shipped by this package still resolve to a predictable name.
93
+ */
94
+ function resolveMacroName(blockKind) {
95
+ return CANONICAL_MACRO_NAMES[blockKind]?.macro_name ?? `render_${blockKind.replace(/-/g, "_")}`;
96
+ }
97
+ /**
98
+ * Resolve `cwd` relative paths and a leading `~` against the user's home
99
+ * directory. Returned paths are absolute so callers can pass them directly to
100
+ * Nunjucks `getTemplate` / `{% from <abs path> import ... %}`.
101
+ */
102
+ function resolveAbsolute(p, cwd) {
103
+ if (p.startsWith("~")) {
104
+ return path.join(os.homedir(), p.slice(1));
105
+ }
106
+ return path.isAbsolute(p) ? p : path.resolve(cwd, p);
107
+ }
108
+ /**
109
+ * Create a renderer registry bound to a project root and optional builtin
110
+ * templates directory. The returned object holds an in-memory override map
111
+ * but does not cache filesystem lookups — see file header for rationale.
112
+ */
113
+ export function createRendererRegistry(opts) {
114
+ const cwd = resolveAbsolute(opts.cwd, process.cwd());
115
+ const userDir = opts.userDir
116
+ ? resolveAbsolute(opts.userDir, cwd)
117
+ : path.join(os.homedir(), ".pi", "agent", "templates");
118
+ const builtinDir = opts.builtinDir ? resolveAbsolute(opts.builtinDir, cwd) : undefined;
119
+ const projectDir = path.join(cwd, ".pi", "templates");
120
+ const overrides = new Map();
121
+ function lookup(blockKind) {
122
+ const override = overrides.get(blockKind);
123
+ if (override)
124
+ return override;
125
+ const fileName = `${blockKind}.md`;
126
+ const tiers = [path.join(projectDir, "items", fileName), path.join(userDir, "items", fileName)];
127
+ if (builtinDir)
128
+ tiers.push(path.join(builtinDir, "items", fileName));
129
+ for (const candidate of tiers) {
130
+ if (fs.existsSync(candidate)) {
131
+ return { templatePath: candidate, macroName: resolveMacroName(blockKind) };
132
+ }
133
+ }
134
+ return null;
135
+ }
136
+ function register(blockKind, ref) {
137
+ overrides.set(blockKind, ref);
138
+ }
139
+ return { lookup, register };
140
+ }
141
+ //# sourceMappingURL=renderer-registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"renderer-registry.js","sourceRoot":"","sources":["../src/renderer-registry.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,19 @@
1
1
  import nunjucks from "nunjucks";
2
+ /**
3
+ * Absolute path to this package's bundled `templates/` directory — the canonical
4
+ * package-layer root for the 3-tier template search (tier 3 / builtinDir).
5
+ *
6
+ * Per DEC-0049 uniform-agent axiom, agent-prompt rendering assets (per-item
7
+ * macros + whole-block delegators + per-agent template directories) live in
8
+ * pi-jit-agents. Consumers (pi-workflows, pi-behavior-monitors, pi-agent-
9
+ * dispatch) import this function rather than computing their own
10
+ * package-relative paths.
11
+ *
12
+ * Resolves via `import.meta.url` so the path works under both source and
13
+ * built (dist) modes — the dist/ directory and the src/ directory sit at the
14
+ * same depth relative to the package root.
15
+ */
16
+ export declare function bundledTemplateDir(): string;
2
17
  export interface TemplateEnvContext {
3
18
  /** Project root. Resolves the project-level tier. */
4
19
  cwd: string;
@@ -1 +1 @@
1
- {"version":3,"file":"template.d.ts","sourceRoot":"","sources":["../src/template.ts"],"names":[],"mappings":"AAoBA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAEhC,MAAM,WAAW,kBAAkB;IAClC,qDAAqD;IACrD,GAAG,EAAE,MAAM,CAAC;IACZ,6DAA6D;IAC7D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iFAAiF;IACjF,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,kBAAkB,GAAG,QAAQ,CAAC,WAAW,CAe/E;AASD;;;;;GAKG;AACH,wBAAgB,cAAc,CAC7B,GAAG,EAAE,QAAQ,CAAC,WAAW,EACzB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,MAAM,CAIR;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CACjC,GAAG,EAAE,QAAQ,CAAC,WAAW,EACzB,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,MAAM,CAMR"}
1
+ {"version":3,"file":"template.d.ts","sourceRoot":"","sources":["../src/template.ts"],"names":[],"mappings":"AAsBA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAEhC;;;;;;;;;;;;;GAaG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAG3C;AAED,MAAM,WAAW,kBAAkB;IAClC,qDAAqD;IACrD,GAAG,EAAE,MAAM,CAAC;IACZ,6DAA6D;IAC7D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iFAAiF;IACjF,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,kBAAkB,GAAG,QAAQ,CAAC,WAAW,CAqB/E;AASD;;;;;GAKG;AACH,wBAAgB,cAAc,CAC7B,GAAG,EAAE,QAAQ,CAAC,WAAW,EACzB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,MAAM,CAIR;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CACjC,GAAG,EAAE,QAAQ,CAAC,WAAW,EACzB,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,MAAM,CAMR"}