@galaxy-stack/ai-coder-core 0.1.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 (197) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +131 -0
  3. package/dist/approval/approval-policy.d.ts +31 -0
  4. package/dist/approval/approval-policy.d.ts.map +1 -0
  5. package/dist/approval/approval-policy.js +179 -0
  6. package/dist/approval/approval-policy.js.map +1 -0
  7. package/dist/approval/index.d.ts +2 -0
  8. package/dist/approval/index.d.ts.map +1 -0
  9. package/dist/approval/index.js +2 -0
  10. package/dist/approval/index.js.map +1 -0
  11. package/dist/context/attachment-types.d.ts +35 -0
  12. package/dist/context/attachment-types.d.ts.map +1 -0
  13. package/dist/context/attachment-types.js +9 -0
  14. package/dist/context/attachment-types.js.map +1 -0
  15. package/dist/context/checkpoint.d.ts +194 -0
  16. package/dist/context/checkpoint.d.ts.map +1 -0
  17. package/dist/context/checkpoint.js +921 -0
  18. package/dist/context/checkpoint.js.map +1 -0
  19. package/dist/context/context-manager.d.ts +153 -0
  20. package/dist/context/context-manager.d.ts.map +1 -0
  21. package/dist/context/context-manager.js +541 -0
  22. package/dist/context/context-manager.js.map +1 -0
  23. package/dist/context/context-profile.d.ts +42 -0
  24. package/dist/context/context-profile.d.ts.map +1 -0
  25. package/dist/context/context-profile.js +102 -0
  26. package/dist/context/context-profile.js.map +1 -0
  27. package/dist/context/index.d.ts +7 -0
  28. package/dist/context/index.d.ts.map +1 -0
  29. package/dist/context/index.js +7 -0
  30. package/dist/context/index.js.map +1 -0
  31. package/dist/context/token-ledger.d.ts +102 -0
  32. package/dist/context/token-ledger.d.ts.map +1 -0
  33. package/dist/context/token-ledger.js +205 -0
  34. package/dist/context/token-ledger.js.map +1 -0
  35. package/dist/context/tool-output.d.ts +46 -0
  36. package/dist/context/tool-output.d.ts.map +1 -0
  37. package/dist/context/tool-output.js +82 -0
  38. package/dist/context/tool-output.js.map +1 -0
  39. package/dist/deterministic-order.d.ts +3 -0
  40. package/dist/deterministic-order.d.ts.map +1 -0
  41. package/dist/deterministic-order.js +5 -0
  42. package/dist/deterministic-order.js.map +1 -0
  43. package/dist/index.d.ts +19 -0
  44. package/dist/index.d.ts.map +1 -0
  45. package/dist/index.js +19 -0
  46. package/dist/index.js.map +1 -0
  47. package/dist/ports/approval-port.d.ts +29 -0
  48. package/dist/ports/approval-port.d.ts.map +1 -0
  49. package/dist/ports/approval-port.js +9 -0
  50. package/dist/ports/approval-port.js.map +1 -0
  51. package/dist/ports/artifact-port.d.ts +66 -0
  52. package/dist/ports/artifact-port.d.ts.map +1 -0
  53. package/dist/ports/artifact-port.js +9 -0
  54. package/dist/ports/artifact-port.js.map +1 -0
  55. package/dist/ports/capability-port.d.ts +62 -0
  56. package/dist/ports/capability-port.d.ts.map +1 -0
  57. package/dist/ports/capability-port.js +9 -0
  58. package/dist/ports/capability-port.js.map +1 -0
  59. package/dist/ports/coding-model-port.d.ts +12 -0
  60. package/dist/ports/coding-model-port.d.ts.map +1 -0
  61. package/dist/ports/coding-model-port.js +9 -0
  62. package/dist/ports/coding-model-port.js.map +1 -0
  63. package/dist/ports/command-port.d.ts +94 -0
  64. package/dist/ports/command-port.d.ts.map +1 -0
  65. package/dist/ports/command-port.js +9 -0
  66. package/dist/ports/command-port.js.map +1 -0
  67. package/dist/ports/execution-context.d.ts +30 -0
  68. package/dist/ports/execution-context.d.ts.map +1 -0
  69. package/dist/ports/execution-context.js +11 -0
  70. package/dist/ports/execution-context.js.map +1 -0
  71. package/dist/ports/git-port.d.ts +27 -0
  72. package/dist/ports/git-port.d.ts.map +1 -0
  73. package/dist/ports/git-port.js +9 -0
  74. package/dist/ports/git-port.js.map +1 -0
  75. package/dist/ports/host-adapter.d.ts +36 -0
  76. package/dist/ports/host-adapter.d.ts.map +1 -0
  77. package/dist/ports/host-adapter.js +9 -0
  78. package/dist/ports/host-adapter.js.map +1 -0
  79. package/dist/ports/index.d.ts +16 -0
  80. package/dist/ports/index.d.ts.map +1 -0
  81. package/dist/ports/index.js +16 -0
  82. package/dist/ports/index.js.map +1 -0
  83. package/dist/ports/pagination.d.ts +17 -0
  84. package/dist/ports/pagination.d.ts.map +1 -0
  85. package/dist/ports/pagination.js +9 -0
  86. package/dist/ports/pagination.js.map +1 -0
  87. package/dist/ports/persistence-port.d.ts +59 -0
  88. package/dist/ports/persistence-port.d.ts.map +1 -0
  89. package/dist/ports/persistence-port.js +9 -0
  90. package/dist/ports/persistence-port.js.map +1 -0
  91. package/dist/ports/port-result.d.ts +29 -0
  92. package/dist/ports/port-result.d.ts.map +1 -0
  93. package/dist/ports/port-result.js +20 -0
  94. package/dist/ports/port-result.js.map +1 -0
  95. package/dist/ports/preview-port.d.ts +27 -0
  96. package/dist/ports/preview-port.d.ts.map +1 -0
  97. package/dist/ports/preview-port.js +9 -0
  98. package/dist/ports/preview-port.js.map +1 -0
  99. package/dist/ports/research-port.d.ts +40 -0
  100. package/dist/ports/research-port.d.ts.map +1 -0
  101. package/dist/ports/research-port.js +9 -0
  102. package/dist/ports/research-port.js.map +1 -0
  103. package/dist/ports/trace-port.d.ts +26 -0
  104. package/dist/ports/trace-port.d.ts.map +1 -0
  105. package/dist/ports/trace-port.js +9 -0
  106. package/dist/ports/trace-port.js.map +1 -0
  107. package/dist/ports/workspace-port.d.ts +126 -0
  108. package/dist/ports/workspace-port.d.ts.map +1 -0
  109. package/dist/ports/workspace-port.js +9 -0
  110. package/dist/ports/workspace-port.js.map +1 -0
  111. package/dist/prompt/index.d.ts +2 -0
  112. package/dist/prompt/index.d.ts.map +1 -0
  113. package/dist/prompt/index.js +2 -0
  114. package/dist/prompt/index.js.map +1 -0
  115. package/dist/prompt/prompt-assembler.d.ts +114 -0
  116. package/dist/prompt/prompt-assembler.d.ts.map +1 -0
  117. package/dist/prompt/prompt-assembler.js +363 -0
  118. package/dist/prompt/prompt-assembler.js.map +1 -0
  119. package/dist/retrieval/evidence.d.ts +41 -0
  120. package/dist/retrieval/evidence.d.ts.map +1 -0
  121. package/dist/retrieval/evidence.js +48 -0
  122. package/dist/retrieval/evidence.js.map +1 -0
  123. package/dist/retrieval/index.d.ts +4 -0
  124. package/dist/retrieval/index.d.ts.map +1 -0
  125. package/dist/retrieval/index.js +4 -0
  126. package/dist/retrieval/index.js.map +1 -0
  127. package/dist/retrieval/lexical-retriever.d.ts +56 -0
  128. package/dist/retrieval/lexical-retriever.d.ts.map +1 -0
  129. package/dist/retrieval/lexical-retriever.js +128 -0
  130. package/dist/retrieval/lexical-retriever.js.map +1 -0
  131. package/dist/retrieval/retrieval-policy.d.ts +25 -0
  132. package/dist/retrieval/retrieval-policy.d.ts.map +1 -0
  133. package/dist/retrieval/retrieval-policy.js +71 -0
  134. package/dist/retrieval/retrieval-policy.js.map +1 -0
  135. package/dist/runtime/completion-gate.d.ts +75 -0
  136. package/dist/runtime/completion-gate.d.ts.map +1 -0
  137. package/dist/runtime/completion-gate.js +114 -0
  138. package/dist/runtime/completion-gate.js.map +1 -0
  139. package/dist/runtime/index.d.ts +7 -0
  140. package/dist/runtime/index.d.ts.map +1 -0
  141. package/dist/runtime/index.js +7 -0
  142. package/dist/runtime/index.js.map +1 -0
  143. package/dist/runtime/run-controller.d.ts +55 -0
  144. package/dist/runtime/run-controller.d.ts.map +1 -0
  145. package/dist/runtime/run-controller.js +2673 -0
  146. package/dist/runtime/run-controller.js.map +1 -0
  147. package/dist/runtime/runtime-error.d.ts +7 -0
  148. package/dist/runtime/runtime-error.d.ts.map +1 -0
  149. package/dist/runtime/runtime-error.js +11 -0
  150. package/dist/runtime/runtime-error.js.map +1 -0
  151. package/dist/runtime/runtime-types.d.ts +303 -0
  152. package/dist/runtime/runtime-types.d.ts.map +1 -0
  153. package/dist/runtime/runtime-types.js +2 -0
  154. package/dist/runtime/runtime-types.js.map +1 -0
  155. package/dist/runtime/state-machine.d.ts +27 -0
  156. package/dist/runtime/state-machine.d.ts.map +1 -0
  157. package/dist/runtime/state-machine.js +68 -0
  158. package/dist/runtime/state-machine.js.map +1 -0
  159. package/dist/runtime/trace-emitter.d.ts +17 -0
  160. package/dist/runtime/trace-emitter.d.ts.map +1 -0
  161. package/dist/runtime/trace-emitter.js +91 -0
  162. package/dist/runtime/trace-emitter.js.map +1 -0
  163. package/dist/tools/coding-messages.d.ts +112 -0
  164. package/dist/tools/coding-messages.d.ts.map +1 -0
  165. package/dist/tools/coding-messages.js +20 -0
  166. package/dist/tools/coding-messages.js.map +1 -0
  167. package/dist/tools/index.d.ts +7 -0
  168. package/dist/tools/index.d.ts.map +1 -0
  169. package/dist/tools/index.js +7 -0
  170. package/dist/tools/index.js.map +1 -0
  171. package/dist/tools/json-schema.d.ts +18 -0
  172. package/dist/tools/json-schema.d.ts.map +1 -0
  173. package/dist/tools/json-schema.js +299 -0
  174. package/dist/tools/json-schema.js.map +1 -0
  175. package/dist/tools/settings-types.d.ts +41 -0
  176. package/dist/tools/settings-types.d.ts.map +1 -0
  177. package/dist/tools/settings-types.js +88 -0
  178. package/dist/tools/settings-types.js.map +1 -0
  179. package/dist/tools/tool-effect-profile.d.ts +44 -0
  180. package/dist/tools/tool-effect-profile.d.ts.map +1 -0
  181. package/dist/tools/tool-effect-profile.js +157 -0
  182. package/dist/tools/tool-effect-profile.js.map +1 -0
  183. package/dist/tools/tool-registry-types.d.ts +72 -0
  184. package/dist/tools/tool-registry-types.d.ts.map +1 -0
  185. package/dist/tools/tool-registry-types.js +9 -0
  186. package/dist/tools/tool-registry-types.js.map +1 -0
  187. package/dist/tools/tool-registry.d.ts +155 -0
  188. package/dist/tools/tool-registry.d.ts.map +1 -0
  189. package/dist/tools/tool-registry.js +599 -0
  190. package/dist/tools/tool-registry.js.map +1 -0
  191. package/dist/tools/tool-registry.schema.json +144 -0
  192. package/docs/ARCHITECTURE.md +259 -0
  193. package/docs/HOST_CONFORMANCE.md +210 -0
  194. package/docs/PROMPT_CONTRACT.md +123 -0
  195. package/docs/TOOL_EFFECT_PROFILE.md +77 -0
  196. package/docs/TOOL_REGISTRY_COMPARISON.md +358 -0
  197. package/package.json +76 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkpoint.js","sourceRoot":"","sources":["../../src/context/checkpoint.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,153 @@
1
+ import { type AiCoderCheckpointReason, type AiCoderRunCheckpoint } from "./checkpoint.js";
2
+ import { type AiCoderContextPressure, type AiCoderResolvedContextBudget } from "./context-profile.js";
3
+ import { type AiCoderTokenCategories, type AiCoderTokenLedgerEntry, type AiCoderVisionAccounting, AiCoderTokenEstimator, AiCoderTokenLedger } from "./token-ledger.js";
4
+ import type { ModelCapabilities } from "../ports/capability-port.js";
5
+ import type { CodingMessage, CodingToolCall, CodingToolDefinition } from "../tools/coding-messages.js";
6
+ import type { AiCoderTokenProfile } from "../tools/settings-types.js";
7
+ import type { AiCoderAttachment } from "./attachment-types.js";
8
+ export type AiCoderContextPriority = "P0" | "P1" | "P2" | "P3";
9
+ export type AiCoderContextTrust = "external" | "trusted" | "workspace";
10
+ export type AiCoderContextItemKind = "checkpoint" | "diff" | "file" | "message" | "policy" | "research" | "task" | "tool";
11
+ export type AiCoderContextItem = Readonly<{
12
+ activePlanStep?: string;
13
+ artifactRef?: string;
14
+ contentHash: string;
15
+ dependencyRelevance: number;
16
+ id: string;
17
+ kind: AiCoderContextItemKind;
18
+ lastUsedTurn: number;
19
+ messages: readonly CodingMessage[];
20
+ priority: AiCoderContextPriority;
21
+ relevance: number;
22
+ stale: boolean;
23
+ summary: string;
24
+ tokenCount: number;
25
+ trust: AiCoderContextTrust;
26
+ unresolvedFailure: boolean;
27
+ }>;
28
+ export type AiCoderToolObservation = Readonly<{
29
+ artifactRef?: string;
30
+ call: CodingToolCall;
31
+ content: string;
32
+ failed?: boolean;
33
+ kind?: Extract<AiCoderContextItemKind, "diff" | "file" | "research" | "tool">;
34
+ summary: string;
35
+ trust: AiCoderContextTrust;
36
+ }>;
37
+ export type AiCoderContextDiagnostic = Readonly<{
38
+ categories: AiCoderTokenCategories;
39
+ compacted: boolean;
40
+ compactionCount: number;
41
+ currentInputTokens: number;
42
+ hardInputTokens: number;
43
+ pressure: AiCoderContextPressure;
44
+ profile: AiCoderTokenProfile;
45
+ projectedInputTokens: number;
46
+ runId: string;
47
+ selectedItemCount: number;
48
+ softInputTokens: number;
49
+ taskId: string;
50
+ turn: number;
51
+ }>;
52
+ export type AiCoderPreparedContext = Readonly<{
53
+ budget: AiCoderResolvedContextBudget;
54
+ categories: AiCoderTokenCategories;
55
+ compacted: boolean;
56
+ diagnostic: AiCoderContextDiagnostic;
57
+ estimatedInputTokens: number;
58
+ messages: readonly CodingMessage[];
59
+ pressure: AiCoderContextPressure;
60
+ vision: AiCoderVisionAccounting;
61
+ }>;
62
+ export type AiCoderCheckpointRequest = Readonly<{
63
+ reason: AiCoderCheckpointReason;
64
+ turn: number;
65
+ }>;
66
+ export type AiCoderContextCheckpointResult = Readonly<{
67
+ artifactRef?: string;
68
+ checkpoint: AiCoderRunCheckpoint;
69
+ }>;
70
+ export type AiCoderContextManagerOptions = Readonly<{
71
+ attachments?: readonly AiCoderAttachment[];
72
+ capabilities: ModelCapabilities;
73
+ checkpointProvider?: (request: AiCoderCheckpointRequest) => Promise<AiCoderContextCheckpointResult>;
74
+ diagnosticSink?: (diagnostic: AiCoderContextDiagnostic) => Promise<void>;
75
+ goalMessage: string;
76
+ ledgerSink?: (entry: AiCoderTokenLedgerEntry) => Promise<void>;
77
+ profile: AiCoderTokenProfile;
78
+ resumeCheckpoint?: AiCoderRunCheckpoint;
79
+ runId: string;
80
+ systemPrompt: string;
81
+ taskId: string;
82
+ timestamp?: () => string;
83
+ }>;
84
+ export declare class AiCoderContextBudgetError extends Error {
85
+ readonly code: "CHECKPOINT_UNAVAILABLE" | "HARD_LIMIT" | "MANDATORY_CONTEXT_TOO_LARGE" | "TOOL_DEFINITIONS_TOO_LARGE";
86
+ constructor(code: "CHECKPOINT_UNAVAILABLE" | "HARD_LIMIT" | "MANDATORY_CONTEXT_TOO_LARGE" | "TOOL_DEFINITIONS_TOO_LARGE", message: string);
87
+ }
88
+ export declare function aiCoderContextContentHash(value: unknown): string;
89
+ export declare class AiCoderContextManager {
90
+ private readonly options;
91
+ readonly estimator: AiCoderTokenEstimator;
92
+ readonly ledger: AiCoderTokenLedger;
93
+ private readonly visionEstimator;
94
+ private items;
95
+ private compactionCount;
96
+ private sequence;
97
+ private toolRoundsSinceCheckpoint;
98
+ private latestCheckpoint;
99
+ private constructor();
100
+ static create(options: AiCoderContextManagerOptions): Promise<AiCoderContextManager>;
101
+ get latestDurableCheckpoint(): AiCoderRunCheckpoint | null;
102
+ get totalCompactions(): number;
103
+ private estimateMessages;
104
+ addItem(input: Readonly<{
105
+ activePlanStep?: string;
106
+ artifactRef?: string;
107
+ dependencyRelevance?: number;
108
+ id?: string;
109
+ kind: AiCoderContextItemKind;
110
+ lastUsedTurn: number;
111
+ messages: readonly CodingMessage[];
112
+ priority: AiCoderContextPriority;
113
+ relevance: number;
114
+ stale?: boolean;
115
+ summary: string;
116
+ trust: AiCoderContextTrust;
117
+ unresolvedFailure?: boolean;
118
+ }>): void;
119
+ replaceMandatoryState(content: string, turn: number): void;
120
+ /**
121
+ * Remove operational dialogue that can invite additional actions after the
122
+ * deterministic completion gate has closed. Policy, original task, durable
123
+ * evidence, inspected files, diff and research context remain available for
124
+ * an accurate user-facing report.
125
+ */
126
+ projectForFinalization(): void;
127
+ replaceSystemPrompt(systemPrompt: string, turn: number): void;
128
+ addFeedback(content: string, turn: number): void;
129
+ addInteraction(assistant: CodingMessage, observations: readonly AiCoderToolObservation[], turn: number): void;
130
+ calibrateVision(actualPromptTokenDelta: number): AiCoderVisionAccounting;
131
+ private restoreCheckpoint;
132
+ private effectivePriority;
133
+ private utility;
134
+ private summarizeP2;
135
+ private estimateToolDefinitions;
136
+ private assemble;
137
+ private compact;
138
+ prepareRound(input: Readonly<{
139
+ forceCheckpointReason?: AiCoderCheckpointReason;
140
+ nextMessages?: readonly CodingMessage[];
141
+ tools: readonly CodingToolDefinition[];
142
+ turn: number;
143
+ }>): Promise<AiCoderPreparedContext>;
144
+ completeRound(input: Readonly<{
145
+ model: string;
146
+ prepared: AiCoderPreparedContext;
147
+ thinking: string;
148
+ turn: number;
149
+ usage?: Readonly<Record<string, unknown>> | null;
150
+ visibleOutput: string;
151
+ }>): Promise<AiCoderTokenLedgerEntry>;
152
+ }
153
+ //# sourceMappingURL=context-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-manager.d.ts","sourceRoot":"","sources":["../../src/context/context-manager.ts"],"names":[],"mappings":"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"}