@calliopelabs/cli 3.7.0 → 3.8.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 (178) hide show
  1. package/README.md +13 -0
  2. package/dist/approvals/request.d.ts.map +1 -1
  3. package/dist/approvals/request.js +10 -0
  4. package/dist/approvals/request.js.map +1 -1
  5. package/dist/auth/chatgpt/fallback.d.ts +31 -0
  6. package/dist/auth/chatgpt/fallback.d.ts.map +1 -0
  7. package/dist/auth/chatgpt/fallback.js +111 -0
  8. package/dist/auth/chatgpt/fallback.js.map +1 -0
  9. package/dist/auth/chatgpt/index.d.ts +6 -0
  10. package/dist/auth/chatgpt/index.d.ts.map +1 -0
  11. package/dist/auth/chatgpt/index.js +6 -0
  12. package/dist/auth/chatgpt/index.js.map +1 -0
  13. package/dist/auth/chatgpt/login.d.ts +4 -0
  14. package/dist/auth/chatgpt/login.d.ts.map +1 -0
  15. package/dist/auth/chatgpt/login.js +82 -0
  16. package/dist/auth/chatgpt/login.js.map +1 -0
  17. package/dist/auth/chatgpt/protocol.d.ts +24 -0
  18. package/dist/auth/chatgpt/protocol.d.ts.map +1 -0
  19. package/dist/auth/chatgpt/protocol.js +71 -0
  20. package/dist/auth/chatgpt/protocol.js.map +1 -0
  21. package/dist/auth/chatgpt/session.d.ts +24 -0
  22. package/dist/auth/chatgpt/session.d.ts.map +1 -0
  23. package/dist/auth/chatgpt/session.js +101 -0
  24. package/dist/auth/chatgpt/session.js.map +1 -0
  25. package/dist/auth/chatgpt/store.d.ts +28 -0
  26. package/dist/auth/chatgpt/store.d.ts.map +1 -0
  27. package/dist/auth/chatgpt/store.js +75 -0
  28. package/dist/auth/chatgpt/store.js.map +1 -0
  29. package/dist/auth/cli.d.ts +2 -0
  30. package/dist/auth/cli.d.ts.map +1 -0
  31. package/dist/auth/cli.js +38 -0
  32. package/dist/auth/cli.js.map +1 -0
  33. package/dist/auth/index.d.ts +2 -0
  34. package/dist/auth/index.d.ts.map +1 -0
  35. package/dist/auth/index.js +2 -0
  36. package/dist/auth/index.js.map +1 -0
  37. package/dist/bin.d.ts.map +1 -1
  38. package/dist/bin.js +25 -0
  39. package/dist/bin.js.map +1 -1
  40. package/dist/brain/exchange.d.ts.map +1 -1
  41. package/dist/brain/exchange.js +3 -1
  42. package/dist/brain/exchange.js.map +1 -1
  43. package/dist/brain/kg-export.d.ts +1 -1
  44. package/dist/brain/kg.d.ts +1 -1
  45. package/dist/brain/kg.d.ts.map +1 -1
  46. package/dist/brain/kg.js +3 -1
  47. package/dist/brain/kg.js.map +1 -1
  48. package/dist/build-metadata.json +1 -1
  49. package/dist/config.d.ts +7 -0
  50. package/dist/config.d.ts.map +1 -1
  51. package/dist/config.js +7 -2
  52. package/dist/config.js.map +1 -1
  53. package/dist/delegation/claude.d.ts +28 -0
  54. package/dist/delegation/claude.d.ts.map +1 -0
  55. package/dist/delegation/claude.js +107 -0
  56. package/dist/delegation/claude.js.map +1 -0
  57. package/dist/delegation/index.d.ts +2 -0
  58. package/dist/delegation/index.d.ts.map +1 -0
  59. package/dist/delegation/index.js +2 -0
  60. package/dist/delegation/index.js.map +1 -0
  61. package/dist/execution/attribution.d.ts +3 -0
  62. package/dist/execution/attribution.d.ts.map +1 -1
  63. package/dist/execution/attribution.js.map +1 -1
  64. package/dist/execution/delegated.d.ts.map +1 -1
  65. package/dist/execution/delegated.js +5 -2
  66. package/dist/execution/delegated.js.map +1 -1
  67. package/dist/execution/ledger-cli.d.ts.map +1 -1
  68. package/dist/execution/ledger-cli.js +9 -7
  69. package/dist/execution/ledger-cli.js.map +1 -1
  70. package/dist/execution/ledger-server.d.ts +6 -0
  71. package/dist/execution/ledger-server.d.ts.map +1 -1
  72. package/dist/execution/ledger-server.js +39 -4
  73. package/dist/execution/ledger-server.js.map +1 -1
  74. package/dist/execution/quote.d.ts +1 -1
  75. package/dist/execution/quote.d.ts.map +1 -1
  76. package/dist/execution/quote.js +4 -2
  77. package/dist/execution/quote.js.map +1 -1
  78. package/dist/execution/remote-ledger.d.ts +7 -0
  79. package/dist/execution/remote-ledger.d.ts.map +1 -1
  80. package/dist/execution/remote-ledger.js +22 -5
  81. package/dist/execution/remote-ledger.js.map +1 -1
  82. package/dist/health/target.d.ts.map +1 -1
  83. package/dist/health/target.js +8 -1
  84. package/dist/health/target.js.map +1 -1
  85. package/dist/improvement/cli.d.ts +1 -1
  86. package/dist/improvement/cli.d.ts.map +1 -1
  87. package/dist/improvement/cli.js +4 -4
  88. package/dist/improvement/cli.js.map +1 -1
  89. package/dist/improvement/host-capabilities.d.ts +134 -1
  90. package/dist/improvement/host-capabilities.d.ts.map +1 -1
  91. package/dist/improvement/host-capabilities.js +8 -1
  92. package/dist/improvement/host-capabilities.js.map +1 -1
  93. package/dist/improvement/index.d.ts +2 -0
  94. package/dist/improvement/index.d.ts.map +1 -1
  95. package/dist/improvement/index.js +2 -0
  96. package/dist/improvement/index.js.map +1 -1
  97. package/dist/improvement/task-feedback-contract.d.ts +41 -0
  98. package/dist/improvement/task-feedback-contract.d.ts.map +1 -0
  99. package/dist/improvement/task-feedback-contract.js +83 -0
  100. package/dist/improvement/task-feedback-contract.js.map +1 -0
  101. package/dist/improvement/task-feedback.d.ts +149 -0
  102. package/dist/improvement/task-feedback.d.ts.map +1 -0
  103. package/dist/improvement/task-feedback.js +117 -0
  104. package/dist/improvement/task-feedback.js.map +1 -0
  105. package/dist/improvement/task-outcomes.d.ts +2 -2
  106. package/dist/improvement/task-outcomes.d.ts.map +1 -1
  107. package/dist/improvement/task-outcomes.js +2 -3
  108. package/dist/improvement/task-outcomes.js.map +1 -1
  109. package/dist/model-detection.d.ts +0 -5
  110. package/dist/model-detection.d.ts.map +1 -1
  111. package/dist/model-detection.js +5 -5
  112. package/dist/model-detection.js.map +1 -1
  113. package/dist/orchestration/coordinator-types.d.ts +4 -1
  114. package/dist/orchestration/coordinator-types.d.ts.map +1 -1
  115. package/dist/orchestration/execution-journal.d.ts.map +1 -1
  116. package/dist/orchestration/execution-journal.js +10 -3
  117. package/dist/orchestration/execution-journal.js.map +1 -1
  118. package/dist/orchestration/execution.d.ts +3 -1
  119. package/dist/orchestration/execution.d.ts.map +1 -1
  120. package/dist/orchestration/execution.js +1 -1
  121. package/dist/orchestration/execution.js.map +1 -1
  122. package/dist/orchestration/reviewed-ledger.d.ts +42 -0
  123. package/dist/orchestration/reviewed-ledger.d.ts.map +1 -1
  124. package/dist/orchestration/reviewed-ledger.js +51 -9
  125. package/dist/orchestration/reviewed-ledger.js.map +1 -1
  126. package/dist/orchestration/routing.d.ts +2 -0
  127. package/dist/orchestration/routing.d.ts.map +1 -1
  128. package/dist/orchestration/routing.js +10 -1
  129. package/dist/orchestration/routing.js.map +1 -1
  130. package/dist/orchestration/task-configuration.d.ts +8 -0
  131. package/dist/orchestration/task-configuration.d.ts.map +1 -0
  132. package/dist/orchestration/task-configuration.js +23 -0
  133. package/dist/orchestration/task-configuration.js.map +1 -0
  134. package/dist/providers/chatgpt.d.ts +11 -0
  135. package/dist/providers/chatgpt.d.ts.map +1 -0
  136. package/dist/providers/chatgpt.js +156 -0
  137. package/dist/providers/chatgpt.js.map +1 -0
  138. package/dist/providers/index.d.ts +0 -5
  139. package/dist/providers/index.d.ts.map +1 -1
  140. package/dist/providers/index.js +10 -2
  141. package/dist/providers/index.js.map +1 -1
  142. package/dist/providers/types.d.ts +5 -0
  143. package/dist/providers/types.d.ts.map +1 -1
  144. package/dist/providers/types.js.map +1 -1
  145. package/dist/runlog.d.ts +1 -1
  146. package/dist/runlog.d.ts.map +1 -1
  147. package/dist/runtime/permissions.d.ts.map +1 -1
  148. package/dist/runtime/permissions.js +1 -0
  149. package/dist/runtime/permissions.js.map +1 -1
  150. package/dist/runtime/turn.d.ts.map +1 -1
  151. package/dist/runtime/turn.js +79 -12
  152. package/dist/runtime/turn.js.map +1 -1
  153. package/dist/sessions/execution-binding.d.ts +8 -3
  154. package/dist/sessions/execution-binding.d.ts.map +1 -1
  155. package/dist/sessions/execution-binding.js +13 -3
  156. package/dist/sessions/execution-binding.js.map +1 -1
  157. package/dist/types.d.ts +1 -0
  158. package/dist/types.d.ts.map +1 -1
  159. package/dist/types.js.map +1 -1
  160. package/dist/ui/components.d.ts.map +1 -1
  161. package/dist/ui/components.js +3 -5
  162. package/dist/ui/components.js.map +1 -1
  163. package/dist/ui/frame.js +3 -3
  164. package/dist/ui/frame.js.map +1 -1
  165. package/dist/ui/modals/tool-output.d.ts.map +1 -1
  166. package/dist/ui/modals/tool-output.js +5 -6
  167. package/dist/ui/modals/tool-output.js.map +1 -1
  168. package/dist/ui/state/use-terminal-width.d.ts.map +1 -1
  169. package/dist/ui/state/use-terminal-width.js +2 -13
  170. package/dist/ui/state/use-terminal-width.js.map +1 -1
  171. package/docs/chatgpt-plan.md +109 -0
  172. package/docs/claude-plan.md +58 -0
  173. package/docs/delegation-ledger.md +54 -3
  174. package/docs/improvement-cycles.md +5 -0
  175. package/docs/releases/3.8.0.md +65 -0
  176. package/docs/reviewed-provider-metadata.md +84 -0
  177. package/docs/task-feedback.md +77 -0
  178. package/package.json +17 -11
@@ -0,0 +1,83 @@
1
+ import { canonicalJson, digest } from '../approvals/index.js';
2
+ import { array, hex, id, shape, text, uuid, fail } from '../orchestration/validation.js';
3
+ import { OrchestrationError } from '../orchestration/types.js';
4
+ import { taskConfigurationIdentity } from '../orchestration/task-configuration.js';
5
+ export const MAX_TASK_FEEDBACK = 64;
6
+ export const feedbackEventRef = (event) => ({ id: event.id, hash: event.hash, at: event.at, sequence: event.sequence });
7
+ /** Ignore journal growth and late billing; bind the assessment to the actual native outcome. */
8
+ export function taskFeedbackOutcomeHash(value) {
9
+ const { executionRevision, ...source } = value.source;
10
+ return digest(canonicalJson({ source, status: value.status, executorStatus: value.executorStatus, finished: value.finished,
11
+ accepted: value.accepted, checks: value.checks, artifacts: value.artifacts }));
12
+ }
13
+ export function validateTaskFeedbackRequest(value) {
14
+ shape(value, ['version', 'id', 'selection', 'observationHash', 'assessment', 'references']);
15
+ if (value.version !== 1 || !uuid(value.id) || !hex(value.observationHash))
16
+ fail('Invalid task feedback identity.');
17
+ shape(value.selection, ['taskId', 'attempt', 'executionRevision']);
18
+ id(value.selection.taskId);
19
+ if (!Number.isSafeInteger(value.selection.attempt) || Number(value.selection.attempt) < 1 || Number(value.selection.attempt) > 4 || !hex(value.selection.executionRevision))
20
+ fail('Invalid task feedback selection.');
21
+ shape(value.assessment, ['decision', 'reason']);
22
+ if (!['accepted', 'rejected', 'corrected'].includes(String(value.assessment.decision)))
23
+ fail('Invalid task feedback assessment.');
24
+ text(value.assessment.reason, 1024);
25
+ array(value.references, 16);
26
+ const seen = new Set();
27
+ for (const ref of value.references) {
28
+ shape(ref, ['kind', 'id', 'revision']);
29
+ text(ref.id, 128);
30
+ if (!['workflow', 'skill', 'policy'].includes(String(ref.kind)) || !hex(ref.revision))
31
+ fail('Invalid task feedback version reference.');
32
+ const key = ref.kind + ':' + ref.id;
33
+ if (seen.has(key))
34
+ fail('Duplicate task feedback reference.');
35
+ seen.add(key);
36
+ }
37
+ }
38
+ export function validateTaskFeedbackRecord(value) {
39
+ shape(value, ['version', 'authority', 'request', 'source', 'outcomeHash', 'finished', 'accepted']);
40
+ if (value.version !== 1 || value.authority !== 'native-policy-reviewed-assessment' || !hex(value.outcomeHash))
41
+ fail('Invalid task feedback receipt.');
42
+ validateTaskFeedbackRequest(value.request);
43
+ shape(value.source, ['runId', 'manifestHash', 'planHash', 'approvalRevision', 'executionRevision', 'taskId', 'agentId', 'attempt', 'sessionId', 'started', 'configurationHash', 'graphHash']);
44
+ const s = value.source;
45
+ if (!uuid(s.runId) || !uuid(s.approvalRevision) || ![s.manifestHash, s.planHash, s.executionRevision, s.configurationHash, s.graphHash].every(hex))
46
+ fail('Invalid task feedback source.');
47
+ id(s.taskId);
48
+ id(s.agentId);
49
+ text(s.sessionId, 128);
50
+ if (!Number.isSafeInteger(s.attempt) || Number(s.attempt) < 1 || Number(s.attempt) > 4)
51
+ fail('Invalid task feedback attempt.');
52
+ for (const ref of [s.started, value.finished, ...(value.accepted === null ? [] : [value.accepted])]) {
53
+ shape(ref, ['id', 'hash', 'at', 'sequence']);
54
+ if (!uuid(ref.id) || !hex(ref.hash) || !Number.isFinite(Date.parse(String(ref.at))) || !Number.isSafeInteger(ref.sequence) || Number(ref.sequence) < 1)
55
+ fail('Invalid task feedback event reference.');
56
+ }
57
+ }
58
+ export function validateTaskFeedbackEvent(record, manifest, header, state, prior) {
59
+ const conflict = (message) => { throw new OrchestrationError('conflict', message); };
60
+ const { source: s, request: r } = record;
61
+ if (state.ownerId || r.selection.executionRevision !== state.revision || s.executionRevision !== state.revision)
62
+ conflict('Task feedback requires the exact inactive execution revision.');
63
+ if (s.runId !== manifest.id || s.manifestHash !== header.manifestHash || s.planHash !== manifest.planHash || s.approvalRevision !== header.approvalRevision ||
64
+ s.taskId !== r.selection.taskId || s.attempt !== r.selection.attempt)
65
+ conflict('Task feedback belongs to another native source.');
66
+ const starts = prior.filter(e => e.change.type === 'task_started' && e.change.taskId === s.taskId);
67
+ const start = starts.find(e => e.change.type === 'task_started' && e.change.attempt === s.attempt) ?? conflict('Task feedback start is missing.'), next = starts.find(e => e.sequence > start.sequence);
68
+ if (start.change.type !== 'task_started' || canonicalJson(feedbackEventRef(start)) !== canonicalJson(s.started) || start.change.sessionId !== s.sessionId ||
69
+ manifest.plan.tasks.find(t => t.id === s.taskId)?.agentId !== s.agentId)
70
+ conflict('Task feedback start identity changed.');
71
+ const configuration = taskConfigurationIdentity(manifest.plan, s.taskId, manifest.planHash, prior.filter(e => e.sequence <= start.sequence));
72
+ if (configuration.configurationHash !== s.configurationHash || configuration.graphHash !== s.graphHash)
73
+ conflict('Task feedback configuration identity changed.');
74
+ const events = prior.filter(e => e.sequence >= start.sequence && (!next || e.sequence < next.sequence));
75
+ const finished = events.filter(e => e.change.type === 'task_finished' && e.change.taskId === s.taskId).at(-1);
76
+ const accepted = finished ? events.find(e => e.change.type === 'task_accepted' && e.change.taskId === s.taskId && e.sequence > finished.sequence) : undefined;
77
+ if (!finished || canonicalJson(feedbackEventRef(finished)) !== canonicalJson(record.finished) || canonicalJson(accepted ? feedbackEventRef(accepted) : null) !== canonicalJson(record.accepted))
78
+ conflict('Task feedback outcome identity changed.');
79
+ const existing = prior.filter(e => e.change.type === 'task_feedback_recorded');
80
+ if (existing.length >= MAX_TASK_FEEDBACK || existing.some(e => e.change.type === 'task_feedback_recorded' && e.change.feedback.request.id === r.id))
81
+ conflict('Task feedback retention or idempotency limit reached.');
82
+ }
83
+ //# sourceMappingURL=task-feedback-contract.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-feedback-contract.js","sourceRoot":"","sources":["../../src/improvement/task-feedback-contract.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,149 @@
1
+ import type { RunActionOptions } from '../orchestration/actions.js';
2
+ import { type TaskFeedbackRequest } from './task-feedback-contract.js';
3
+ export declare function taskFeedbackCapabilities(): {
4
+ readonly version: 1;
5
+ readonly kind: 'task.feedback-capabilities';
6
+ readonly owner: 'calliope-cli';
7
+ readonly operations: readonly ['record', 'inspect', 'history'];
8
+ readonly authority: 'native-policy-reviewed-assessment';
9
+ readonly storage: 'native-execution-journal';
10
+ readonly maxRecords: 64;
11
+ readonly changesTaskOutcome: false;
12
+ readonly awardsReward: false;
13
+ readonly mayCallModel: false;
14
+ };
15
+ export declare function taskFeedbackHistory(cwd: string, runId: string, options?: RunActionOptions): Promise<{
16
+ data: {
17
+ version: number;
18
+ kind: string;
19
+ runId: string;
20
+ executionRevision: string;
21
+ evidence: string;
22
+ receipts: {
23
+ event: {
24
+ id: string;
25
+ hash: string;
26
+ at: string;
27
+ sequence: number;
28
+ };
29
+ version: 1;
30
+ authority: 'native-policy-reviewed-assessment';
31
+ request: TaskFeedbackRequest;
32
+ source: import("./task-feedback-contract.js").TaskObservation['source'];
33
+ outcomeHash: string;
34
+ finished: NonNullable<import("./task-feedback-contract.js").TaskObservation['finished']>;
35
+ accepted: import("./task-feedback-contract.js").TaskObservation['accepted'];
36
+ }[];
37
+ };
38
+ redacted: boolean;
39
+ }>;
40
+ export declare function inspectTaskFeedback(cwd: string, runId: string, feedbackId: string, options?: RunActionOptions): Promise<{
41
+ data: {
42
+ version: number;
43
+ kind: string;
44
+ receipt: {
45
+ event: {
46
+ id: string;
47
+ hash: string;
48
+ at: string;
49
+ sequence: number;
50
+ };
51
+ version: 1;
52
+ authority: 'native-policy-reviewed-assessment';
53
+ request: TaskFeedbackRequest;
54
+ source: import("./task-feedback-contract.js").TaskObservation['source'];
55
+ outcomeHash: string;
56
+ finished: NonNullable<import("./task-feedback-contract.js").TaskObservation['finished']>;
57
+ accepted: import("./task-feedback-contract.js").TaskObservation['accepted'];
58
+ };
59
+ status: string;
60
+ observation: {
61
+ value: {
62
+ version: 1;
63
+ kind: 'task.outcome-observation';
64
+ interpretation: 'native-attempt-evidence-not-user-assessment-or-reward';
65
+ source: {
66
+ configurationHash: string;
67
+ graphHash: string;
68
+ runId: string;
69
+ manifestHash: string;
70
+ planHash: string;
71
+ approvalRevision: string;
72
+ executionRevision: string;
73
+ taskId: string;
74
+ agentId: string;
75
+ attempt: number;
76
+ sessionId: string;
77
+ started: {
78
+ id: string;
79
+ hash: string;
80
+ at: string;
81
+ sequence: number;
82
+ };
83
+ };
84
+ status: "cancelled" | "completed" | "denied" | "failed" | "review_required" | "unknown";
85
+ executorStatus: "cancelled" | "completed" | "denied" | "failed" | "review_required" | "unknown";
86
+ finished: {
87
+ id: string;
88
+ hash: string;
89
+ at: string;
90
+ sequence: number;
91
+ } | null;
92
+ accepted: {
93
+ id: string;
94
+ hash: string;
95
+ at: string;
96
+ sequence: number;
97
+ } | null;
98
+ checks: import("../orchestration/coordinator-types.js").CheckEvidence[];
99
+ artifacts: {
100
+ id: string;
101
+ taskId: string;
102
+ agentId: string;
103
+ kind: "decision" | "evidence" | "file" | "patch" | "report" | "test_result";
104
+ sha256: string;
105
+ bytes: number;
106
+ source: {
107
+ runId: string;
108
+ eventId: string;
109
+ };
110
+ }[];
111
+ measurements: {
112
+ durationMs: number | null;
113
+ toolCalls: number;
114
+ toolFailures: number;
115
+ settledCostNanos: number | null;
116
+ };
117
+ accounting: {
118
+ basis: 'native-reservations-and-settlements';
119
+ revision: string | null;
120
+ charge: import("../orchestration/request-accounting.js").AttributedCharge | null;
121
+ };
122
+ };
123
+ hash: string;
124
+ };
125
+ };
126
+ redacted: boolean;
127
+ }>;
128
+ export declare function recordTaskFeedback(cwd: string, runId: string, input: TaskFeedbackRequest, options?: RunActionOptions): Promise<{
129
+ data: {
130
+ existing: boolean;
131
+ receipt: {
132
+ event: {
133
+ id: string;
134
+ hash: string;
135
+ at: string;
136
+ sequence: number;
137
+ };
138
+ version: 1;
139
+ authority: 'native-policy-reviewed-assessment';
140
+ request: TaskFeedbackRequest;
141
+ source: import("./task-feedback-contract.js").TaskObservation['source'];
142
+ outcomeHash: string;
143
+ finished: NonNullable<import("./task-feedback-contract.js").TaskObservation['finished']>;
144
+ accepted: import("./task-feedback-contract.js").TaskObservation['accepted'];
145
+ };
146
+ };
147
+ redacted: boolean;
148
+ }>;
149
+ //# sourceMappingURL=task-feedback.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-feedback.d.ts","sourceRoot":"","sources":["../../src/improvement/task-feedback.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,6BAA6B,CAAC;AAGlE,OAAO,EAAwF,KAAK,mBAAmB,EAAyB,MAAM,6BAA6B,CAAC;AAEpL,wBAAgB,wBAAwB;aAAW,OAAO,EAAC,CAAC;aAAC,IAAI,EAAC,4BAA4B;aAAC,KAAK,EAAC,cAAc;aACjH,UAAU,YAAE,QAAQ,EAAC,SAAS,EAAC,SAAS;aAAE,SAAS,EAAC,mCAAmC;aAAC,OAAO,EAAC,0BAA0B;aAC1H,UAAU;aAAmB,kBAAkB;aAAO,YAAY;aAAO,YAAY;EAAkB;AAOzG,wBAAsB,mBAAmB,CAAC,GAAG,EAAC,MAAM,EAAC,KAAK,EAAC,MAAM,EAAC,OAAO,GAAC,gBAAmB;;;;;;;;;;;;;;;;;;;;;;;;GAK5F;AACD,wBAAsB,mBAAmB,CAAC,GAAG,EAAC,MAAM,EAAC,KAAK,EAAC,MAAM,EAAC,UAAU,EAAC,MAAM,EAAC,OAAO,GAAC,gBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAQ9G;AACD,wBAAsB,kBAAkB,CAAC,GAAG,EAAC,MAAM,EAAC,KAAK,EAAC,MAAM,EAAC,KAAK,EAAC,mBAAmB,EAAC,OAAO,GAAC,gBAAmB;;;;;;;;;;;;;;;;;;;;GAoDrH"}
@@ -0,0 +1,117 @@
1
+ import { canonicalJson, describeApproval } from '../approvals/index.js';
2
+ import { authorizeSessionAction } from '../session-management/index.js';
3
+ import { throwIfCancelled } from '../cancellation.js';
4
+ import { inspectExecution } from '../orchestration/coordinator-actions.js';
5
+ import { readRunAccounting } from '../orchestration/accounting.js';
6
+ import { checkArtifactSnapshot } from '../orchestration/verification.js';
7
+ import { OrchestrationError } from '../orchestration/types.js';
8
+ import { uuid } from '../orchestration/validation.js';
9
+ import { inspectTaskOutcome } from './task-outcomes.js';
10
+ import { feedbackEventRef, MAX_TASK_FEEDBACK, taskFeedbackOutcomeHash, validateTaskFeedbackRequest } from './task-feedback-contract.js';
11
+ export function taskFeedbackCapabilities() {
12
+ return { version: 1, kind: 'task.feedback-capabilities', owner: 'calliope-cli',
13
+ operations: ['record', 'inspect', 'history'], authority: 'native-policy-reviewed-assessment', storage: 'native-execution-journal',
14
+ maxRecords: MAX_TASK_FEEDBACK, changesTaskOutcome: false, awardsReward: false, mayCallModel: false };
15
+ }
16
+ const entries = (view) => view.events.filter((e) => e.change.type === 'task_feedback_recorded');
17
+ const receipt = (event) => ({ event: feedbackEventRef(event), ...structuredClone(event.change.feedback) });
18
+ async function publicValue(value) {
19
+ const { sanitizeBrainValue } = await import('../brain/access.js');
20
+ const clean = sanitizeBrainValue(value);
21
+ return { data: clean, redacted: canonicalJson(clean) !== canonicalJson(value) };
22
+ }
23
+ export async function taskFeedbackHistory(cwd, runId, options = {}) {
24
+ const current = await inspectExecution(cwd, runId, options);
25
+ if (!current.execution)
26
+ throw new OrchestrationError('unavailable', 'No native execution history.');
27
+ return publicValue({ version: 1, kind: 'task.feedback-history', runId, executionRevision: current.execution.state.revision,
28
+ evidence: 'recorded-assessments-not-revalidated', receipts: entries(current.execution).map(receipt) });
29
+ }
30
+ export async function inspectTaskFeedback(cwd, runId, feedbackId, options = {}) {
31
+ if (!uuid(feedbackId))
32
+ throw new OrchestrationError('invalid', 'Invalid task feedback identity.');
33
+ const current = await inspectExecution(cwd, runId, options), event = current.execution && entries(current.execution).find(e => e.change.feedback.request.id === feedbackId);
34
+ if (!event)
35
+ throw new OrchestrationError('unavailable', 'No task feedback has this identity.');
36
+ const request = event.change.feedback.request;
37
+ const observation = await inspectTaskOutcome(cwd, runId, { ...request.selection, executionRevision: current.execution.state.revision }, options);
38
+ return publicValue({ version: 1, kind: 'task.feedback-observation', receipt: receipt(event),
39
+ status: taskFeedbackOutcomeHash(observation.value) === event.change.feedback.outcomeHash ? 'current' : 'stale', observation });
40
+ }
41
+ export async function recordTaskFeedback(cwd, runId, input, options = {}) {
42
+ validateTaskFeedbackRequest(input);
43
+ const request = structuredClone(input);
44
+ const { hasBrainSecrets } = await import('../brain/access.js');
45
+ if (hasBrainSecrets(request))
46
+ throw new OrchestrationError('policy-denied', 'Task feedback contains credential material.');
47
+ const current = await inspectExecution(cwd, runId, options), { store } = current;
48
+ if (!current.execution)
49
+ throw new OrchestrationError('unavailable', 'No native execution history.');
50
+ store.assertApproval(current.execution.header);
51
+ if (current.owner?.alive || current.execution.state.ownerId)
52
+ throw new OrchestrationError('conflict', 'Stop or recover the active coordinator before recording feedback.');
53
+ const duplicate = () => entries(store.read()).find(e => e.change.feedback.request.id === request.id);
54
+ const prior = duplicate();
55
+ if (prior && canonicalJson(prior.change.feedback.request) !== canonicalJson(request))
56
+ throw new OrchestrationError('conflict', 'Task feedback ID already binds another assessment.');
57
+ if (!prior && entries(current.execution).length >= MAX_TASK_FEEDBACK)
58
+ throw new OrchestrationError('limit', 'Task feedback retention limit reached; preserve the run.');
59
+ let observation;
60
+ if (!prior) {
61
+ observation = await inspectTaskOutcome(cwd, runId, request.selection, options);
62
+ if (!observation.value.finished || observation.hash !== request.observationHash)
63
+ throw new OrchestrationError('conflict', 'Task feedback requires its exact completed native observation.');
64
+ }
65
+ const operation = { id: request.id, name: 'orchestration_task_feedback', arguments: { path: cwd, runId, request,
66
+ scope: 'record operator-reviewed assessment only; no task outcome, reward, inference or execution changes' } };
67
+ const permissionKey = describeApproval(operation, cwd).key;
68
+ const checkPermission = () => { if (describeApproval(operation, cwd).key !== permissionKey)
69
+ throw new OrchestrationError('policy-denied', 'Feedback permission context changed; review the current request again.'); };
70
+ await authorizeSessionAction(cwd, operation.name, operation.arguments, { ...options, confirmation: options.confirmation ?? 'mutating' });
71
+ throwIfCancelled(options.signal);
72
+ checkPermission();
73
+ if (!prior) {
74
+ observation = await inspectTaskOutcome(cwd, runId, request.selection, options);
75
+ if (!observation.value.finished || observation.hash !== request.observationHash)
76
+ throw new OrchestrationError('conflict', 'Native task evidence changed during feedback review.');
77
+ }
78
+ const lease = store.acquire();
79
+ try {
80
+ lease.check();
81
+ checkPermission();
82
+ const before = store.read();
83
+ store.assertApproval(before.header);
84
+ if (before.state.ownerId)
85
+ throw new OrchestrationError('conflict', 'Execution became active during feedback review.');
86
+ const existing = duplicate();
87
+ if (existing) {
88
+ if (canonicalJson(existing.change.feedback.request) !== canonicalJson(request))
89
+ throw new OrchestrationError('conflict', 'Task feedback ID already binds another assessment.');
90
+ return publicValue({ existing: true, receipt: receipt(existing) });
91
+ }
92
+ store.assertRevision(request.selection.executionRevision);
93
+ const value = observation.value, finished = value.finished;
94
+ const feedback = { version: 1, authority: 'native-policy-reviewed-assessment', request, source: value.source,
95
+ outcomeHash: taskFeedbackOutcomeHash(value), finished, accepted: value.accepted };
96
+ const nativeFinished = before.events.find(e => e.id === finished.id);
97
+ if (!nativeFinished || nativeFinished.change.type !== 'task_finished')
98
+ throw new OrchestrationError('conflict', 'Native task outcome disappeared.');
99
+ const artifacts = nativeFinished.change.output.artifacts;
100
+ const event = await store.append({ type: 'task_feedback_recorded', feedback }, options.signal, undefined, () => {
101
+ lease.check();
102
+ checkPermission();
103
+ store.assertApproval(before.header);
104
+ store.assertRevision(request.selection.executionRevision);
105
+ for (const artifact of artifacts)
106
+ checkArtifactSnapshot(store, artifact);
107
+ const accounting = readRunAccounting(store), revision = accounting.status === 'available' && accounting.attribution?.status === 'available' ? accounting.attribution.revision : null;
108
+ if (revision !== value.accounting.revision)
109
+ throw new OrchestrationError('conflict', 'Native task accounting changed during feedback admission.');
110
+ });
111
+ return publicValue({ existing: false, receipt: receipt(event) });
112
+ }
113
+ finally {
114
+ lease.release();
115
+ }
116
+ }
117
+ //# sourceMappingURL=task-feedback.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-feedback.js","sourceRoot":"","sources":["../../src/improvement/task-feedback.ts"],"names":[],"mappings":"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"}
@@ -20,6 +20,8 @@ export declare function inspectTaskOutcome(cwd: string, runId: string, selection
20
20
  kind: 'task.outcome-observation';
21
21
  interpretation: 'native-attempt-evidence-not-user-assessment-or-reward';
22
22
  source: {
23
+ configurationHash: string;
24
+ graphHash: string;
23
25
  runId: string;
24
26
  manifestHash: string;
25
27
  planHash: string;
@@ -35,8 +37,6 @@ export declare function inspectTaskOutcome(cwd: string, runId: string, selection
35
37
  at: string;
36
38
  sequence: number;
37
39
  };
38
- configurationHash: string;
39
- graphHash: string;
40
40
  };
41
41
  status: "cancelled" | "completed" | "denied" | "failed" | "review_required" | "unknown";
42
42
  executorStatus: "cancelled" | "completed" | "denied" | "failed" | "review_required" | "unknown";
@@ -1 +1 @@
1
- {"version":3,"file":"task-outcomes.d.ts","sourceRoot":"","sources":["../../src/improvement/task-outcomes.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,6BAA6B,CAAC;AAGlE,MAAM,WAAW,oBAAoB;IAAE,MAAM,EAAC,MAAM,CAAC;IAAA,OAAO,EAAC,MAAM,CAAC;IAAA,iBAAiB,EAAC,MAAM,CAAA;CAAC;AAG7F,wBAAgB,uBAAuB;aAAW,OAAO,EAAC,CAAC;aAAC,KAAK,EAAC,cAAc;aAAC,UAAU,YAAE,SAAS;aACpG,SAAS,EAAC,kCAAkC;aAAC,kBAAkB,EAAC,gBAAgB;aAAC,UAAU;aAAO,MAAM;aAAO,YAAY;EAAkB;AAE/I,wBAAsB,kBAAkB,CAAC,GAAG,EAAC,MAAM,EAAC,KAAK,EAAC,MAAM,EAAC,SAAS,EAAC,oBAAoB,EAAC,OAAO,GAAC,gBAAmB;;iBAgCpG,CAAC;cAAe,0BAA0B;wBAC9C,uDAAuD;;YAC9D,KAAK;YAAa,YAAY;YAAoB,QAAQ;YAAwB,gBAAgB;YACxG,iBAAiB;YAA0B,MAAM;YAAS,OAAO;YAAc,OAAO;YAAgB,SAAS;YAC/G,OAAO;;;;;;YAAY,iBAAiB;YACpC,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAKG,UAAU;YACtB,SAAS;YAAc,YAAY;YACnC,gBAAgB;;;YACN,KAAK,EAAC,qCAAqC;YAAU,QAAQ;YAA6D,MAAM;;;;GAG/I"}
1
+ {"version":3,"file":"task-outcomes.d.ts","sourceRoot":"","sources":["../../src/improvement/task-outcomes.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,6BAA6B,CAAC;AAIlE,MAAM,WAAW,oBAAoB;IAAE,MAAM,EAAC,MAAM,CAAC;IAAA,OAAO,EAAC,MAAM,CAAC;IAAA,iBAAiB,EAAC,MAAM,CAAA;CAAC;AAG7F,wBAAgB,uBAAuB;aAAW,OAAO,EAAC,CAAC;aAAC,KAAK,EAAC,cAAc;aAAC,UAAU,YAAE,SAAS;aACpG,SAAS,EAAC,kCAAkC;aAAC,kBAAkB,EAAC,gBAAgB;aAAC,UAAU;aAAO,MAAM;aAAO,YAAY;EAAkB;AAE/I,wBAAsB,kBAAkB,CAAC,GAAG,EAAC,MAAM,EAAC,KAAK,EAAC,MAAM,EAAC,SAAS,EAAC,oBAAoB,EAAC,OAAO,GAAC,gBAAmB;;iBA+BpG,CAAC;cAAe,0BAA0B;wBAC9C,uDAAuD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAQxD,UAAU;YACtB,SAAS;YAAc,YAAY;YACnC,gBAAgB;;;YACN,KAAK,EAAC,qCAAqC;YAAU,QAAQ;YAA6D,MAAM;;;;GAG/I"}
@@ -10,6 +10,7 @@ import { readRunAccounting } from '../orchestration/accounting.js';
10
10
  import { workerAttemptContext } from '../orchestration/worker-context.js';
11
11
  import { id, shape } from '../orchestration/validation.js';
12
12
  import { OrchestrationError } from '../orchestration/types.js';
13
+ import { taskConfigurationIdentity } from '../orchestration/task-configuration.js';
13
14
  const ref = (event) => ({ id: event.id, hash: event.hash, at: event.at, sequence: event.sequence });
14
15
  function conflict(message) { throw new OrchestrationError('conflict', message); }
15
16
  export function taskOutcomeCapabilities() {
@@ -34,7 +35,6 @@ export async function inspectTaskOutcome(cwd, runId, selection, options = {}) {
34
35
  const prefixEvents = execution.events.slice(0, start.sequence);
35
36
  const prefix = { header: execution.header, events: prefixEvents, state: replayExecution(execution.header, view.manifest, prefixEvents) };
36
37
  const context = store.context(prefix), task = context.plan.tasks.find(t => t.id === selection.taskId);
37
- const agent = context.plan.agents.find(a => a.id === task.agentId);
38
38
  const attempt = workerAttemptContext(context.plan, task, prefix).attempt;
39
39
  const finished = events.filter((event) => event.change.type === 'task_finished' && event.change.taskId === task.id).at(-1);
40
40
  const accepted = finished ? events.find(event => event.change.type === 'task_accepted' && event.change.taskId === task.id && event.sequence > finished.sequence) : undefined;
@@ -55,8 +55,7 @@ export async function inspectTaskOutcome(cwd, runId, selection, options = {}) {
55
55
  interpretation: 'native-attempt-evidence-not-user-assessment-or-reward',
56
56
  source: { runId: view.run.id, manifestHash: view.manifest.hash, planHash: view.manifest.planHash, approvalRevision: execution.header.approvalRevision,
57
57
  executionRevision: execution.state.revision, taskId: task.id, agentId: task.agentId, attempt: attempt.number, sessionId: start.change.sessionId,
58
- started: ref(start), configurationHash: digest(canonicalJson({ task, agent, strategy: prefix.state.supervision?.strategies[task.id] ?? null })),
59
- graphHash: prefix.state.graph?.hash ?? view.manifest.planHash },
58
+ started: ref(start), ...taskConfigurationIdentity(context.plan, task.id, view.manifest.planHash, prefixEvents) },
60
59
  status: accepted ? 'completed' : finished?.change.status ?? 'unknown',
61
60
  executorStatus: finished?.change.status ?? 'unknown', finished: finished ? ref(finished) : null, accepted: accepted ? ref(accepted) : null,
62
61
  checks: structuredClone(output?.checks ?? []),
@@ -1 +1 @@
1
- {"version":3,"file":"task-outcomes.js","sourceRoot":"","sources":["../../src/improvement/task-outcomes.ts"],"names":[],"mappings":"AAAA,sFAAsF;AACtF,OAAO,EAAC,IAAI,EAAC,MAAM,WAAW,CAAC;AAC/B,OAAO,EAAC,aAAa,EAAC,MAAM,EAAC,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAC,gBAAgB,EAAC,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAC,kCAAkC,EAAC,MAAM,uBAAuB,CAAC;AACzE,OAAO,EAAC,gBAAgB,EAAC,MAAM,yCAAyC,CAAC;AACzE,OAAO,EAAC,eAAe,EAAC,MAAM,uCAAuC,CAAC;AACtE,OAAO,EAAC,qBAAqB,EAAC,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAC,iBAAiB,EAAC,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAC,oBAAoB,EAAC,MAAM,oCAAoC,CAAC;AACxE,OAAO,EAAC,EAAE,EAAC,KAAK,EAAC,MAAM,gCAAgC,CAAC;AACxD,OAAO,EAAC,kBAAkB,EAAC,MAAM,2BAA2B,CAAC;AAK7D,MAAM,GAAG,GAAC,CAAC,KAAoB,EAAC,EAAE,CAAA,CAAC,EAAC,EAAE,EAAC,KAAK,CAAC,EAAE,EAAC,IAAI,EAAC,KAAK,CAAC,IAAI,EAAC,EAAE,EAAC,KAAK,CAAC,EAAE,EAAC,QAAQ,EAAC,KAAK,CAAC,QAAQ,EAAC,CAAC,CAAC;AACtG,SAAS,QAAQ,CAAC,OAAc,IAAQ,MAAM,IAAI,kBAAkB,CAAC,UAAU,EAAC,OAAO,CAAC,CAAC,CAAA,CAAC;AAC1F,MAAM,UAAU,uBAAuB;IAAG,OAAO,EAAC,OAAO,EAAC,CAAC,EAAC,KAAK,EAAC,cAAc,EAAC,UAAU,EAAC,CAAC,SAAS,CAAC;QACrG,SAAS,EAAC,kCAAkC,EAAC,kBAAkB,EAAC,gBAAgB,EAAC,UAAU,EAAC,KAAK,EAAC,MAAM,EAAC,KAAK,EAAC,YAAY,EAAC,KAAK,EAAU,CAAC;AAAA,CAAC;AAE/I,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,GAAU,EAAC,KAAY,EAAC,SAA8B,EAAC,OAAO,GAAkB,EAAE;IACzH,KAAK,CAAC,SAAS,EAAC,CAAC,QAAQ,EAAC,SAAS,EAAC,mBAAmB,CAAC,CAAC,CAAC;IAAA,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAC/E,IAAG,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,OAAO,CAAC,IAAE,SAAS,CAAC,OAAO,GAAC,CAAC,IAAE,OAAO,SAAS,CAAC,iBAAiB,KAAG,QAAQ,IAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC;QAClK,MAAM,IAAI,kBAAkB,CAAC,SAAS,EAAC,uDAAuD,CAAC,CAAC;IAClG,MAAM,OAAO,GAAC,MAAM,gBAAgB,CAAC,GAAG,EAAC,KAAK,EAAC,OAAO,CAAC,EAAC,EAAC,KAAK,EAAC,IAAI,EAAC,SAAS,EAAC,GAAC,OAAO,CAAC;IACvF,kCAAkC,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAC,IAAI,EAAC,IAAI,CAAC,CAAC,CAAC;IAC1F,IAAG,CAAC,SAAS,IAAE,SAAS,CAAC,KAAK,CAAC,QAAQ,KAAG,SAAS,CAAC,iBAAiB,IAAE,SAAS,CAAC,KAAK,CAAC,OAAO,IAAE,OAAO,CAAC,KAAK,EAAE,KAAK;QAClH,QAAQ,CAAC,uEAAuE,CAAC,CAAC;IACpF,MAAM,MAAM,GAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAA0F,EAAE,CACrI,KAAK,CAAC,MAAM,CAAC,IAAI,KAAG,cAAc,IAAE,KAAK,CAAC,MAAM,CAAC,MAAM,KAAG,SAAS,CAAC,MAAM,CAAC,CAAC;IAC9E,MAAM,KAAK,GAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAA,EAAE,CAAA,KAAK,CAAC,MAAM,CAAC,OAAO,KAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IACzE,IAAG,CAAC,KAAK;QAAC,MAAM,IAAI,kBAAkB,CAAC,aAAa,EAAC,iDAAiD,CAAC,CAAC;IACxG,MAAM,IAAI,GAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAA,EAAE,CAAA,KAAK,CAAC,QAAQ,GAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC7D,MAAM,MAAM,GAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAA,EAAE,CAAA,KAAK,CAAC,QAAQ,IAAE,KAAK,CAAC,QAAQ,IAAE,CAAC,CAAC,IAAI,IAAE,KAAK,CAAC,QAAQ,GAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IACnH,MAAM,YAAY,GAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC5D,MAAM,MAAM,GAAC,EAAC,MAAM,EAAC,SAAS,CAAC,MAAM,EAAC,MAAM,EAAC,YAAY,EAAC,KAAK,EAAC,eAAe,CAAC,SAAS,CAAC,MAAM,EAAC,IAAI,CAAC,QAAQ,EAAC,YAAY,CAAC,EAAC,CAAC;IAC9H,MAAM,OAAO,GAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAC,IAAI,GAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA,EAAE,CAAA,CAAC,CAAC,EAAE,KAAG,SAAS,CAAC,MAAM,CAAE,CAAC;IAC9F,MAAM,KAAK,GAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA,EAAE,CAAA,CAAC,CAAC,EAAE,KAAG,IAAI,CAAC,OAAO,CAAE,CAAC;IAC9D,MAAM,OAAO,GAAC,oBAAoB,CAAC,OAAO,CAAC,IAAI,EAAC,IAAI,EAAC,MAAM,CAAC,CAAC,OAAO,CAAC;IACrE,MAAM,QAAQ,GAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAA2F,EAAE,CAC9H,KAAK,CAAC,MAAM,CAAC,IAAI,KAAG,eAAe,IAAE,KAAK,CAAC,MAAM,CAAC,MAAM,KAAG,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7E,MAAM,QAAQ,GAAC,QAAQ,CAAA,CAAC,CAAA,MAAM,CAAC,IAAI,CAAC,KAAK,CAAA,EAAE,CAAA,KAAK,CAAC,MAAM,CAAC,IAAI,KAAG,eAAe,IAAE,KAAK,CAAC,MAAM,CAAC,MAAM,KAAG,IAAI,CAAC,EAAE,IAAE,KAAK,CAAC,QAAQ,GAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA,CAAC,CAAA,SAAS,CAAC;IAC3J,MAAM,MAAM,GAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC;IAAA,IAAI,KAAK,GAAC,CAAC,CAAC;IACjD,KAAI,MAAM,QAAQ,IAAI,MAAM,EAAE,SAAS,IAAE,EAAE,EAAC,CAAC;QAC3C,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAAA,KAAK,IAAE,QAAQ,CAAC,KAAK,CAAC;QACvD,IAAG,KAAK,GAAC,EAAE,GAAC,IAAI,GAAC,IAAI;YAAC,MAAM,IAAI,kBAAkB,CAAC,OAAO,EAAC,gEAAgE,CAAC,CAAC;QAC7H,MAAM,qBAAqB,CAAC,KAAK,EAAC,QAAQ,EAAC,OAAO,CAAC,CAAC;IACtD,CAAC;IACD,MAAM,UAAU,GAAC,iBAAiB,CAAC,KAAK,EAAC,SAAS,CAAC,CAAC;IACpD,MAAM,WAAW,GAAC,UAAU,CAAC,MAAM,KAAG,WAAW,CAAA,CAAC,CAAA,UAAU,CAAC,WAAW,CAAA,CAAC,CAAA,SAAS,CAAC;IACnF,MAAM,MAAM,GAAC,WAAW,EAAE,MAAM,KAAG,WAAW,IAAE,WAAW,CAAC,iBAAiB,KAAG,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAA,CAAC,CAAA,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,IAAE,IAAI,CAAA,CAAC,CAAA,IAAI,CAAC;IACjJ,MAAM,KAAK,GAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAA,EAAE,CAAA,KAAK,CAAC,MAAM,CAAC,IAAI,KAAG,MAAM,IAAE,KAAK,CAAC,MAAM,CAAC,MAAM,KAAG,IAAI,CAAC,EAAE,IAAE,KAAK,CAAC,MAAM,CAAC,KAAK,KAAG,UAAU,CAAC,CAAC;IAC7H,MAAM,KAAK,GAAC,EAAC,OAAO,EAAC,CAAU,EAAC,IAAI,EAAC,0BAAmC;QACtE,cAAc,EAAC,uDAAgE;QAC/E,MAAM,EAAC,EAAC,KAAK,EAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAC,YAAY,EAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAC,QAAQ,EAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAC,gBAAgB,EAAC,SAAS,CAAC,MAAM,CAAC,gBAAgB;YAC1I,iBAAiB,EAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,EAAC,MAAM,EAAC,IAAI,CAAC,EAAE,EAAC,OAAO,EAAC,IAAI,CAAC,OAAO,EAAC,OAAO,EAAC,OAAO,CAAC,MAAM,EAAC,SAAS,EAAC,KAAK,CAAC,MAAM,CAAC,SAAS;YACtI,OAAO,EAAC,GAAG,CAAC,KAAK,CAAC,EAAC,iBAAiB,EAAC,MAAM,CAAC,aAAa,CAAC,EAAC,IAAI,EAAC,KAAK,EAAC,QAAQ,EAAC,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,IAAE,IAAI,EAAC,CAAC,CAAC;YACrI,SAAS,EAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,IAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAC;QAC7D,MAAM,EAAC,QAAQ,CAAA,CAAC,CAAA,WAAoB,CAAA,CAAC,CAAA,QAAQ,EAAE,MAAM,CAAC,MAAM,IAAE,SAAkB;QAChF,cAAc,EAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,IAAE,SAAkB,EAAC,QAAQ,EAAC,QAAQ,CAAA,CAAC,CAAA,GAAG,CAAC,QAAQ,CAAC,CAAA,CAAC,CAAA,IAAI,EAAC,QAAQ,EAAC,QAAQ,CAAA,CAAC,CAAA,GAAG,CAAC,QAAQ,CAAC,CAAA,CAAC,CAAA,IAAI;QACpI,MAAM,EAAC,eAAe,CAAC,MAAM,EAAE,MAAM,IAAE,EAAE,CAAC;QAC1C,SAAS,EAAC,CAAC,MAAM,EAAE,SAAS,IAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA,EAAE,CAAA,CAAC,EAAC,EAAE,EAAC,CAAC,CAAC,EAAE,EAAC,MAAM,EAAC,CAAC,CAAC,MAAM,EAAC,OAAO,EAAC,CAAC,CAAC,OAAO,EAAC,IAAI,EAAC,CAAC,CAAC,IAAI,EAAC,MAAM,EAAC,CAAC,CAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,KAAK,EAAC,MAAM,EAAC,EAAC,GAAG,CAAC,CAAC,MAAM,EAAC,EAAC,CAAC,CAAC;QACtJ,YAAY,EAAC,EAAC,UAAU,EAAC,QAAQ,CAAA,CAAC,CAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA,CAAC,CAAA,IAAI;YACjF,SAAS,EAAC,KAAK,CAAC,MAAM,EAAC,YAAY,EAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA,EAAE,CAAA,CAAC,CAAC,MAAM,CAAC,IAAI,KAAG,MAAM,IAAE,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM;YACrG,gBAAgB,EAAC,MAAM,EAAE,MAAM,KAAG,WAAW,IAAE,MAAM,CAAC,aAAa,CAAA,CAAC,CAAA,MAAM,CAAC,SAAS,CAAC,SAAS,CAAA,CAAC,CAAA,IAAI,EAAC;QACtG,UAAU,EAAC,EAAC,KAAK,EAAC,qCAA8C,EAAC,QAAQ,EAAC,WAAW,EAAE,MAAM,KAAG,WAAW,CAAA,CAAC,CAAA,WAAW,CAAC,QAAQ,CAAA,CAAC,CAAA,IAAI,EAAC,MAAM,EAAC,MAAM,CAAA,CAAC,CAAA,eAAe,CAAC,MAAM,CAAC,CAAA,CAAC,CAAA,IAAI,EAAC,EAAC,CAAC;IACrL,KAAK,CAAC,cAAc,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;IAAA,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACnF,OAAO,EAAC,KAAK,EAAC,IAAI,EAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAAC,CAAC;AACnD,CAAC"}
1
+ {"version":3,"file":"task-outcomes.js","sourceRoot":"","sources":["../../src/improvement/task-outcomes.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,3 @@
1
- /**
2
- * Calliope CLI - Model Detection
3
- *
4
- * Auto-detects available models for each provider and provides interactive selection.
5
- */
6
1
  import type { LLMProvider } from './types.js';
7
2
  import { type ModelInfo } from './models/index.js';
8
3
  export type { ModelInfo, ModelCapabilities } from './models/index.js';
@@ -1 +1 @@
1
- {"version":3,"file":"model-detection.d.ts","sourceRoot":"","sources":["../src/model-detection.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAI9C,OAAO,EAA+I,KAAK,SAAS,EAA0B,MAAM,mBAAmB,CAAC;AACxN,YAAY,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAItE,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,mFAAmF;IACnF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;yEACqE;IACrE,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAoCD,wFAAwF;AACxF,wBAAsB,kBAAkB,CAAC,QAAQ,EAAE,WAAW,EAAE,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAOrH;AA4HD,8EAA8E;AAC9E,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,WAAW,GAAG,SAAS,EAAE,GAAG,SAAS,CAG1F;AAMD,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,WAAW,GAAG,SAAS,EAAE,GAAG,SAAS,CAIlF;AAED,+EAA+E;AAC/E,wBAAsB,iBAAiB,CAAC,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,CAoBlI;AAED;;GAEG;AACH,wBAAsB,wBAAwB,CAAC,QAAQ,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAqC5F;AA8eD;;;GAGG;AACH,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAqBrE;AAmQD;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,CAAC,EAAE,WAAW,GAAG,IAAI,CAQ5D;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,YAAY,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CASjF;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAY1F;AAwDD;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAmBnF;AAwBD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAchF"}
1
+ {"version":3,"file":"model-detection.d.ts","sourceRoot":"","sources":["../src/model-detection.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAI9C,OAAO,EAA+I,KAAK,SAAS,EAA0B,MAAM,mBAAmB,CAAC;AACxN,YAAY,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAItE,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,mFAAmF;IACnF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;yEACqE;IACrE,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAoCD,wFAAwF;AACxF,wBAAsB,kBAAkB,CAAC,QAAQ,EAAE,WAAW,EAAE,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAOrH;AA4HD,8EAA8E;AAC9E,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,WAAW,GAAG,SAAS,EAAE,GAAG,SAAS,CAG1F;AAOD,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,WAAW,GAAG,SAAS,EAAE,GAAG,SAAS,CAIlF;AAED,+EAA+E;AAC/E,wBAAsB,iBAAiB,CAAC,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,CAoBlI;AAED;;GAEG;AACH,wBAAsB,wBAAwB,CAAC,QAAQ,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAqC5F;AA+eD;;;GAGG;AACH,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAqBrE;AAmQD;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,CAAC,EAAE,WAAW,GAAG,IAAI,CAQ5D;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,YAAY,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CASjF;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAY1F;AAwDD;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAmBnF;AAwBD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAchF"}
@@ -1,8 +1,4 @@
1
- /**
2
- * Calliope CLI - Model Detection
3
- *
4
- * Auto-detects available models for each provider and provides interactive selection.
5
- */
1
+ import { chatGPTSelected, chatGPTAccountKey, chatGPTModels } from './providers/chatgpt.js';
6
2
  import OpenAI from 'openai';
7
3
  import { select } from '@inquirer/prompts';
8
4
  import * as config from './config.js';
@@ -187,6 +183,8 @@ export function getPreviousDiscoveredModels(provider) {
187
183
  return previous?.target === modelCacheTarget(provider) ? structuredClone(previous.models) : undefined;
188
184
  }
189
185
  function modelCacheTarget(provider) {
186
+ if (provider === 'openai' && chatGPTSelected())
187
+ return 'chatgpt:' + chatGPTAccountKey();
190
188
  const profile = provider === 'bedrock' ? config.getProviderCred(provider) : { profile: undefined, region: undefined };
191
189
  return createHash('sha256').update(JSON.stringify([provider, config.getBaseUrl(provider), config.getApiKey(provider), profile.profile, profile.region])).digest('hex');
192
190
  }
@@ -466,6 +464,8 @@ function geminiOrder(aId, bId) {
466
464
  * Get OpenAI models
467
465
  */
468
466
  async function getOpenAIModels() {
467
+ if (chatGPTSelected())
468
+ return chatGPTModels(discoveryContext.getStore()?.signal);
469
469
  const apiKey = config.getApiKey('openai');
470
470
  if (!apiKey)
471
471
  throw new Error('OpenAI API key not configured');