@calliopelabs/cli 3.6.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 (196) hide show
  1. package/README.md +13 -0
  2. package/dist/acp/controls.d.ts +10 -0
  3. package/dist/acp/controls.d.ts.map +1 -0
  4. package/dist/acp/controls.js +81 -0
  5. package/dist/acp/controls.js.map +1 -0
  6. package/dist/acp.d.ts +11 -4
  7. package/dist/acp.d.ts.map +1 -1
  8. package/dist/acp.js +114 -18
  9. package/dist/acp.js.map +1 -1
  10. package/dist/approvals/request.d.ts.map +1 -1
  11. package/dist/approvals/request.js +10 -0
  12. package/dist/approvals/request.js.map +1 -1
  13. package/dist/auth/chatgpt/fallback.d.ts +31 -0
  14. package/dist/auth/chatgpt/fallback.d.ts.map +1 -0
  15. package/dist/auth/chatgpt/fallback.js +111 -0
  16. package/dist/auth/chatgpt/fallback.js.map +1 -0
  17. package/dist/auth/chatgpt/index.d.ts +6 -0
  18. package/dist/auth/chatgpt/index.d.ts.map +1 -0
  19. package/dist/auth/chatgpt/index.js +6 -0
  20. package/dist/auth/chatgpt/index.js.map +1 -0
  21. package/dist/auth/chatgpt/login.d.ts +4 -0
  22. package/dist/auth/chatgpt/login.d.ts.map +1 -0
  23. package/dist/auth/chatgpt/login.js +82 -0
  24. package/dist/auth/chatgpt/login.js.map +1 -0
  25. package/dist/auth/chatgpt/protocol.d.ts +24 -0
  26. package/dist/auth/chatgpt/protocol.d.ts.map +1 -0
  27. package/dist/auth/chatgpt/protocol.js +71 -0
  28. package/dist/auth/chatgpt/protocol.js.map +1 -0
  29. package/dist/auth/chatgpt/session.d.ts +24 -0
  30. package/dist/auth/chatgpt/session.d.ts.map +1 -0
  31. package/dist/auth/chatgpt/session.js +101 -0
  32. package/dist/auth/chatgpt/session.js.map +1 -0
  33. package/dist/auth/chatgpt/store.d.ts +28 -0
  34. package/dist/auth/chatgpt/store.d.ts.map +1 -0
  35. package/dist/auth/chatgpt/store.js +75 -0
  36. package/dist/auth/chatgpt/store.js.map +1 -0
  37. package/dist/auth/cli.d.ts +2 -0
  38. package/dist/auth/cli.d.ts.map +1 -0
  39. package/dist/auth/cli.js +38 -0
  40. package/dist/auth/cli.js.map +1 -0
  41. package/dist/auth/index.d.ts +2 -0
  42. package/dist/auth/index.d.ts.map +1 -0
  43. package/dist/auth/index.js +2 -0
  44. package/dist/auth/index.js.map +1 -0
  45. package/dist/bin.d.ts.map +1 -1
  46. package/dist/bin.js +25 -0
  47. package/dist/bin.js.map +1 -1
  48. package/dist/brain/exchange.d.ts.map +1 -1
  49. package/dist/brain/exchange.js +3 -1
  50. package/dist/brain/exchange.js.map +1 -1
  51. package/dist/brain/kg-export.d.ts +1 -1
  52. package/dist/brain/kg.d.ts +1 -1
  53. package/dist/brain/kg.d.ts.map +1 -1
  54. package/dist/brain/kg.js +3 -1
  55. package/dist/brain/kg.js.map +1 -1
  56. package/dist/build-identity.d.ts +27 -0
  57. package/dist/build-identity.d.ts.map +1 -0
  58. package/dist/build-identity.js +32 -0
  59. package/dist/build-identity.js.map +1 -0
  60. package/dist/build-metadata.json +1 -0
  61. package/dist/config.d.ts +7 -0
  62. package/dist/config.d.ts.map +1 -1
  63. package/dist/config.js +7 -2
  64. package/dist/config.js.map +1 -1
  65. package/dist/delegation/claude.d.ts +28 -0
  66. package/dist/delegation/claude.d.ts.map +1 -0
  67. package/dist/delegation/claude.js +107 -0
  68. package/dist/delegation/claude.js.map +1 -0
  69. package/dist/delegation/index.d.ts +2 -0
  70. package/dist/delegation/index.d.ts.map +1 -0
  71. package/dist/delegation/index.js +2 -0
  72. package/dist/delegation/index.js.map +1 -0
  73. package/dist/execution/attribution.d.ts +3 -0
  74. package/dist/execution/attribution.d.ts.map +1 -1
  75. package/dist/execution/attribution.js.map +1 -1
  76. package/dist/execution/delegated.d.ts.map +1 -1
  77. package/dist/execution/delegated.js +5 -2
  78. package/dist/execution/delegated.js.map +1 -1
  79. package/dist/execution/ledger-cli.d.ts.map +1 -1
  80. package/dist/execution/ledger-cli.js +9 -7
  81. package/dist/execution/ledger-cli.js.map +1 -1
  82. package/dist/execution/ledger-server.d.ts +6 -0
  83. package/dist/execution/ledger-server.d.ts.map +1 -1
  84. package/dist/execution/ledger-server.js +39 -4
  85. package/dist/execution/ledger-server.js.map +1 -1
  86. package/dist/execution/quote.d.ts +1 -1
  87. package/dist/execution/quote.d.ts.map +1 -1
  88. package/dist/execution/quote.js +4 -2
  89. package/dist/execution/quote.js.map +1 -1
  90. package/dist/execution/remote-ledger.d.ts +7 -0
  91. package/dist/execution/remote-ledger.d.ts.map +1 -1
  92. package/dist/execution/remote-ledger.js +22 -5
  93. package/dist/execution/remote-ledger.js.map +1 -1
  94. package/dist/health/target.d.ts.map +1 -1
  95. package/dist/health/target.js +8 -1
  96. package/dist/health/target.js.map +1 -1
  97. package/dist/improvement/cli.d.ts +1 -1
  98. package/dist/improvement/cli.d.ts.map +1 -1
  99. package/dist/improvement/cli.js +18 -4
  100. package/dist/improvement/cli.js.map +1 -1
  101. package/dist/improvement/host-capabilities.d.ts +252 -0
  102. package/dist/improvement/host-capabilities.d.ts.map +1 -0
  103. package/dist/improvement/host-capabilities.js +25 -0
  104. package/dist/improvement/host-capabilities.js.map +1 -0
  105. package/dist/improvement/index.d.ts +3 -0
  106. package/dist/improvement/index.d.ts.map +1 -1
  107. package/dist/improvement/index.js +3 -0
  108. package/dist/improvement/index.js.map +1 -1
  109. package/dist/improvement/task-feedback-contract.d.ts +41 -0
  110. package/dist/improvement/task-feedback-contract.d.ts.map +1 -0
  111. package/dist/improvement/task-feedback-contract.js +83 -0
  112. package/dist/improvement/task-feedback-contract.js.map +1 -0
  113. package/dist/improvement/task-feedback.d.ts +149 -0
  114. package/dist/improvement/task-feedback.d.ts.map +1 -0
  115. package/dist/improvement/task-feedback.js +117 -0
  116. package/dist/improvement/task-feedback.js.map +1 -0
  117. package/dist/improvement/task-outcomes.d.ts +2 -2
  118. package/dist/improvement/task-outcomes.d.ts.map +1 -1
  119. package/dist/improvement/task-outcomes.js +2 -3
  120. package/dist/improvement/task-outcomes.js.map +1 -1
  121. package/dist/model-detection.d.ts +0 -5
  122. package/dist/model-detection.d.ts.map +1 -1
  123. package/dist/model-detection.js +5 -5
  124. package/dist/model-detection.js.map +1 -1
  125. package/dist/orchestration/coordinator-types.d.ts +4 -1
  126. package/dist/orchestration/coordinator-types.d.ts.map +1 -1
  127. package/dist/orchestration/execution-journal.d.ts.map +1 -1
  128. package/dist/orchestration/execution-journal.js +10 -3
  129. package/dist/orchestration/execution-journal.js.map +1 -1
  130. package/dist/orchestration/execution.d.ts +3 -1
  131. package/dist/orchestration/execution.d.ts.map +1 -1
  132. package/dist/orchestration/execution.js +1 -1
  133. package/dist/orchestration/execution.js.map +1 -1
  134. package/dist/orchestration/reviewed-ledger.d.ts +42 -0
  135. package/dist/orchestration/reviewed-ledger.d.ts.map +1 -1
  136. package/dist/orchestration/reviewed-ledger.js +59 -9
  137. package/dist/orchestration/reviewed-ledger.js.map +1 -1
  138. package/dist/orchestration/routing.d.ts +5 -0
  139. package/dist/orchestration/routing.d.ts.map +1 -1
  140. package/dist/orchestration/routing.js +15 -2
  141. package/dist/orchestration/routing.js.map +1 -1
  142. package/dist/orchestration/task-configuration.d.ts +8 -0
  143. package/dist/orchestration/task-configuration.d.ts.map +1 -0
  144. package/dist/orchestration/task-configuration.js +23 -0
  145. package/dist/orchestration/task-configuration.js.map +1 -0
  146. package/dist/providers/chatgpt.d.ts +11 -0
  147. package/dist/providers/chatgpt.d.ts.map +1 -0
  148. package/dist/providers/chatgpt.js +156 -0
  149. package/dist/providers/chatgpt.js.map +1 -0
  150. package/dist/providers/index.d.ts +0 -5
  151. package/dist/providers/index.d.ts.map +1 -1
  152. package/dist/providers/index.js +10 -2
  153. package/dist/providers/index.js.map +1 -1
  154. package/dist/providers/types.d.ts +5 -0
  155. package/dist/providers/types.d.ts.map +1 -1
  156. package/dist/providers/types.js.map +1 -1
  157. package/dist/runlog.d.ts +1 -1
  158. package/dist/runlog.d.ts.map +1 -1
  159. package/dist/runtime/permissions.d.ts.map +1 -1
  160. package/dist/runtime/permissions.js +1 -0
  161. package/dist/runtime/permissions.js.map +1 -1
  162. package/dist/runtime/turn.d.ts.map +1 -1
  163. package/dist/runtime/turn.js +79 -12
  164. package/dist/runtime/turn.js.map +1 -1
  165. package/dist/sessions/execution-binding.d.ts +8 -3
  166. package/dist/sessions/execution-binding.d.ts.map +1 -1
  167. package/dist/sessions/execution-binding.js +13 -3
  168. package/dist/sessions/execution-binding.js.map +1 -1
  169. package/dist/storage.d.ts +2 -0
  170. package/dist/storage.d.ts.map +1 -1
  171. package/dist/storage.js +5 -1
  172. package/dist/storage.js.map +1 -1
  173. package/dist/types.d.ts +1 -0
  174. package/dist/types.d.ts.map +1 -1
  175. package/dist/types.js.map +1 -1
  176. package/dist/ui/components.d.ts.map +1 -1
  177. package/dist/ui/components.js +3 -5
  178. package/dist/ui/components.js.map +1 -1
  179. package/dist/ui/frame.js +3 -3
  180. package/dist/ui/frame.js.map +1 -1
  181. package/dist/ui/modals/tool-output.d.ts.map +1 -1
  182. package/dist/ui/modals/tool-output.js +5 -6
  183. package/dist/ui/modals/tool-output.js.map +1 -1
  184. package/dist/ui/state/use-terminal-width.d.ts.map +1 -1
  185. package/dist/ui/state/use-terminal-width.js +2 -13
  186. package/dist/ui/state/use-terminal-width.js.map +1 -1
  187. package/docs/acp.md +228 -0
  188. package/docs/chatgpt-plan.md +109 -0
  189. package/docs/claude-plan.md +58 -0
  190. package/docs/delegation-ledger.md +56 -3
  191. package/docs/improvement-cycles.md +309 -0
  192. package/docs/releases/3.7.0.md +53 -0
  193. package/docs/releases/3.8.0.md +65 -0
  194. package/docs/reviewed-provider-metadata.md +84 -0
  195. package/docs/task-feedback.md +77 -0
  196. package/package.json +21 -12
@@ -0,0 +1,77 @@
1
+ # Reviewed task feedback
2
+
3
+ Hosts discover this interface explicitly through
4
+ `calliope improve host-capabilities --contract-version 2 --json` or the
5
+ `taskFeedbackCapabilities()` library API. Default/version-1 host discovery and
6
+ the existing execution capability contract retain their original shapes.
7
+
8
+ `recordTaskFeedback` records one native-policy-reviewed assessment of an exact
9
+ completed task attempt. It does not mark the task accepted, change a check,
10
+ allocate execution, award a numeric reward or activate a learned policy. A host's
11
+ claimed user/workflow identity is not independently authenticated by this API.
12
+ The trust boundary is the operator-owned native permission decision and store.
13
+
14
+ ```ts
15
+ import {randomUUID} from 'node:crypto';
16
+ import {inspectTaskOutcome, recordTaskFeedback} from
17
+ '@calliopelabs/cli/dist/improvement/index.js';
18
+
19
+ const selection = {taskId, attempt, executionRevision};
20
+ const observation = await inspectTaskOutcome(cwd, runId, selection, options);
21
+ const result = await recordTaskFeedback(cwd, runId, {
22
+ version: 1,
23
+ id: randomUUID(),
24
+ selection,
25
+ observationHash: observation.hash,
26
+ assessment: {decision: 'accepted', reason: 'Reviewed against the requested result.'},
27
+ references: [{kind: 'workflow', id: workflowId, revision: workflowHash}],
28
+ }, options);
29
+ ```
30
+
31
+ The caller first presents the native observation and assessment for review.
32
+ The request binds its exact observation hash and execution revision. The shared
33
+ permission resolver applies plan-mode denial, hooks, policy and mutation
34
+ confirmation. Missing confirmation denies by default. An operator may explicitly
35
+ provide the usual native noninteractive permission options; request data cannot
36
+ set its own trust or approval. The writer checks current run approval, ownership,
37
+ revision, retained artifact bytes and accounting again before commit.
38
+
39
+ Requests accept only the versioned identity, assessment and optional declared
40
+ workflow/skill/policy references. Each reference has a bounded ID and immutable
41
+ revision hash. Unknown fields, including reward, cost, check results and trust
42
+ flags, are rejected. The native configuration hash identifies the actual task,
43
+ agent and applied strategy at that attempt, including prior strategy restoration
44
+ after withdrawal. Declared external references are reviewed metadata; they do not
45
+ prove the content of an external workflow or skill.
46
+
47
+ ## Persistence and inspection
48
+
49
+ The receipt is a version-12 event in the existing private execution journal.
50
+ Its source includes the native run, manifest, plan, approval, configuration,
51
+ graph, task/start/session and attempt identities. Older journal readers that
52
+ cannot read version 12 must refuse it. The previous journal versions are unchanged.
53
+ At most 64 receipts can be retained in one run, inside the existing journal byte
54
+ limits. Preserve the run when that limit is reached.
55
+
56
+ Identical request IDs and payloads return the same receipt after rechecking
57
+ native permission. Changed payloads cannot reuse an ID. A lost acknowledgement
58
+ does not append another event, reset the original clock or alter reservations.
59
+
60
+ `taskFeedbackHistory(cwd, runId, options)` returns recorded receipt history, with
61
+ an explicit notice that its outcome evidence has not been revalidated.
62
+ `inspectTaskFeedback(cwd, runId, feedbackId, options)` reuses `inspectTaskOutcome`
63
+ to verify native evidence and derive current checks, duration and accounting.
64
+ An active coordinator or altered artifact refuses inspection. A later native
65
+ outcome change, including explicit task acceptance, marks the old assessment
66
+ `stale`. Late billing settlement updates the observed accounting without
67
+ rewriting the assessment or converting unknown costs to zero.
68
+
69
+ Both inspection APIs return `{data, redacted}`. Known credentials are rejected
70
+ on write. Read-time redaction also protects strings that later become configured
71
+ credentials; redacted display data is not a byte-for-byte copy of the retained
72
+ receipt. No raw worker prose, tool logs or artifact contents are imported into
73
+ the assessment record.
74
+
75
+ Cross-run learned strategy selection, training data admission, reward weighting,
76
+ baseline/held-out evaluation and candidate activation/withdrawal remain separate
77
+ work under #413. This receipt API does not claim those capabilities.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@calliopelabs/cli",
3
- "version": "3.6.0",
3
+ "version": "3.8.0",
4
4
  "description": "The private-AI agent CLI - one terminal agent for any model backend, including the ones you run yourself",
5
5
  "keywords": [
6
6
  "ai",
@@ -34,14 +34,22 @@
34
34
  "files": [
35
35
  "dist",
36
36
  "README.md",
37
+ "docs/claude-plan.md",
37
38
  "scripts/verify-runlog.mjs",
38
39
  "docs/migration-*.md",
39
40
  "docs/migration-example-*.json",
40
41
  "docs/delegation-ledger.md",
41
- "docs/releases/3.6.0.md"
42
+ "docs/improvement-cycles.md",
43
+ "docs/task-feedback.md",
44
+ "docs/acp.md",
45
+ "docs/releases/3.7.0.md",
46
+ "docs/releases/3.6.0.md",
47
+ "docs/chatgpt-plan.md",
48
+ "docs/releases/3.8.0.md",
49
+ "docs/reviewed-provider-metadata.md"
42
50
  ],
43
51
  "scripts": {
44
- "build": "tsc && chmod +x dist/bin.js",
52
+ "build": "tsc && node scripts/build-metadata.mjs && chmod +x dist/bin.js",
45
53
  "dev": "tsc --watch",
46
54
  "start": "node dist/bin.js",
47
55
  "test": "vitest run",
@@ -63,21 +71,22 @@
63
71
  "capture:semantics": "npm run build && node scripts/conformance/capture-semantic.mjs"
64
72
  },
65
73
  "dependencies": {
66
- "@agentclientprotocol/sdk": "2.0.2",
67
- "@anthropic-ai/sdk": "0.135.0",
68
- "@aws-sdk/credential-provider-ini": "3.973.19",
69
- "@aws-sdk/credential-provider-node": "3.972.86",
74
+ "@agentclientprotocol/sdk": "2.2.0",
75
+ "@anthropic-ai/sdk": "1.3.0",
76
+ "@aws-sdk/credential-provider-ini": "3.973.24",
77
+ "@aws-sdk/credential-provider-node": "3.972.91",
70
78
  "@google/genai": "^2.22.0",
71
79
  "@inquirer/prompts": "^8.5.2",
72
- "conf": "^15.1.0",
73
- "ink": "^7.1.0",
74
- "openai": "^6.46.0",
80
+ "conf": "16.0.0",
81
+ "ink": "8.0.0",
82
+ "jose": "6.2.15",
83
+ "openai": "7.43.0",
75
84
  "react": "^19.2.3",
76
- "sql.js": "1.15.0",
85
+ "sql.js": "1.15.2",
77
86
  "string-width": "8.3.0",
78
87
  "ws": "8.22.0",
79
88
  "yaml": "^2.8.2",
80
- "zod": "4.6.6"
89
+ "zod": "4.6.7"
81
90
  },
82
91
  "devDependencies": {
83
92
  "@types/node": "^26.1.1",