@iq-context/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 (52) hide show
  1. package/dist/capture.d.ts +5 -0
  2. package/dist/capture.js +138 -0
  3. package/dist/capture.js.map +1 -0
  4. package/dist/config.d.ts +11 -0
  5. package/dist/config.js +85 -0
  6. package/dist/config.js.map +1 -0
  7. package/dist/discovery.d.ts +1 -0
  8. package/dist/discovery.js +18 -0
  9. package/dist/discovery.js.map +1 -0
  10. package/dist/doctor.d.ts +2 -0
  11. package/dist/doctor.js +166 -0
  12. package/dist/doctor.js.map +1 -0
  13. package/dist/find.d.ts +2 -0
  14. package/dist/find.js +137 -0
  15. package/dist/find.js.map +1 -0
  16. package/dist/go.d.ts +2 -0
  17. package/dist/go.js +31 -0
  18. package/dist/go.js.map +1 -0
  19. package/dist/index.d.ts +16 -0
  20. package/dist/index.js +14 -0
  21. package/dist/index.js.map +1 -0
  22. package/dist/init.d.ts +13 -0
  23. package/dist/init.js +481 -0
  24. package/dist/init.js.map +1 -0
  25. package/dist/persistence.d.ts +6 -0
  26. package/dist/persistence.js +32 -0
  27. package/dist/persistence.js.map +1 -0
  28. package/dist/save.d.ts +2 -0
  29. package/dist/save.js +61 -0
  30. package/dist/save.js.map +1 -0
  31. package/dist/staleness.d.ts +9 -0
  32. package/dist/staleness.js +272 -0
  33. package/dist/staleness.js.map +1 -0
  34. package/dist/state.d.ts +18 -0
  35. package/dist/state.js +176 -0
  36. package/dist/state.js.map +1 -0
  37. package/dist/status.d.ts +2 -0
  38. package/dist/status.js +18 -0
  39. package/dist/status.js.map +1 -0
  40. package/dist/trackedArtifacts.d.ts +12 -0
  41. package/dist/trackedArtifacts.js +138 -0
  42. package/dist/trackedArtifacts.js.map +1 -0
  43. package/dist/types.d.ts +276 -0
  44. package/dist/types.js +2 -0
  45. package/dist/types.js.map +1 -0
  46. package/dist/workstream.d.ts +28 -0
  47. package/dist/workstream.js +119 -0
  48. package/dist/workstream.js.map +1 -0
  49. package/dist/wrap.d.ts +2 -0
  50. package/dist/wrap.js +257 -0
  51. package/dist/wrap.js.map +1 -0
  52. package/package.json +20 -0
package/dist/wrap.js ADDED
@@ -0,0 +1,257 @@
1
+ import path from "node:path";
2
+ import { listProjectAndWorkstreamCaptures } from "./capture.js";
3
+ import { writeTextFileAtomic } from "./persistence.js";
4
+ import { loadResumeState, loadWorkstreamState, resolveProjectRoot, resolveTargetWorkstream, updateFocusAfterWrap, writeResumeState, writeWorkstreamState, } from "./state.js";
5
+ export function wrapProgress(options) {
6
+ const projectRoot = resolveProjectRoot(options.startDir, options.projectRoot);
7
+ const workstreamId = resolveTargetWorkstream(projectRoot, options.workstreamId);
8
+ const currentWorkstreamState = loadWorkstreamState(projectRoot, workstreamId);
9
+ const currentResumeState = loadResumeState(projectRoot, workstreamId);
10
+ const timestamp = new Date().toISOString();
11
+ const promotedCaptures = resolveCapturePromotions(projectRoot, workstreamId, options);
12
+ const nextActions = resolveNextActions(options, currentWorkstreamState);
13
+ const nextWorkstreamState = {
14
+ ...currentWorkstreamState,
15
+ status_summary: options.summary ?? currentWorkstreamState.status_summary,
16
+ blockers: options.blockers.length > 0 ? uniqueValues(options.blockers) : currentWorkstreamState.blockers,
17
+ open_questions: options.questions.length > 0 ? uniqueValues(options.questions) : currentWorkstreamState.open_questions,
18
+ next_actions: nextActions,
19
+ continuation_hint: buildContinuationHint(options, currentWorkstreamState),
20
+ lifecycle_status: options.complete ? "completed" : currentWorkstreamState.lifecycle_status,
21
+ last_wrapped_at: timestamp,
22
+ completed_at: options.complete ? timestamp : currentWorkstreamState.completed_at,
23
+ updated_at: timestamp,
24
+ };
25
+ const nextResumeState = {
26
+ ...currentResumeState,
27
+ remaining_tasks: options.complete ? [] : nextActions,
28
+ paused_reason: options.complete
29
+ ? "Workstream marked completed during wrap."
30
+ : "Session wrapped; resume from the stored continuation state.",
31
+ resume_from: buildResumeFrom(options, nextWorkstreamState, currentResumeState),
32
+ updated_at: timestamp,
33
+ };
34
+ writeWorkstreamState(projectRoot, nextWorkstreamState);
35
+ writeResumeState(projectRoot, workstreamId, nextResumeState);
36
+ const sessionArtifactPath = writeSessionArtifact(projectRoot, nextWorkstreamState, nextResumeState, options, timestamp);
37
+ const durableArtifacts = writeDurableArtifacts(projectRoot, options, timestamp, workstreamId, promotedCaptures);
38
+ updateFocusAfterWrap(projectRoot, nextWorkstreamState, nextResumeState);
39
+ return {
40
+ projectRoot,
41
+ workstreamState: nextWorkstreamState,
42
+ resumeState: nextResumeState,
43
+ sessionArtifactPath,
44
+ durableArtifacts,
45
+ };
46
+ }
47
+ function writeSessionArtifact(projectRoot, workstreamState, resumeState, options, timestamp) {
48
+ const fileName = `${timestampToFileStem(timestamp)}-${workstreamState.workstream_id}.md`;
49
+ const relativePath = path.join("docs", "sessions", fileName);
50
+ const absolutePath = path.join(projectRoot, relativePath);
51
+ const lines = [
52
+ `# Session Wrap - ${workstreamState.workstream_id}`,
53
+ "",
54
+ `- Wrapped at: ${timestamp}`,
55
+ `- Workstream: ${workstreamState.workstream_id}`,
56
+ `- Lifecycle: ${workstreamState.lifecycle_status}`,
57
+ `- Mode: ${workstreamState.mode}`,
58
+ "",
59
+ "## Summary",
60
+ "",
61
+ options.summary ?? workstreamState.status_summary,
62
+ "",
63
+ "## Continuation",
64
+ "",
65
+ resumeState.resume_from,
66
+ ];
67
+ if (workstreamState.next_actions.length > 0) {
68
+ lines.push("", "## Next Actions", "");
69
+ for (const nextAction of workstreamState.next_actions) {
70
+ lines.push(`- ${nextAction}`);
71
+ }
72
+ }
73
+ if (workstreamState.blockers.length > 0) {
74
+ lines.push("", "## Blockers", "");
75
+ for (const blocker of workstreamState.blockers) {
76
+ lines.push(`- ${blocker}`);
77
+ }
78
+ }
79
+ if (workstreamState.open_questions.length > 0) {
80
+ lines.push("", "## Open Questions", "");
81
+ for (const question of workstreamState.open_questions) {
82
+ lines.push(`- ${question}`);
83
+ }
84
+ }
85
+ if (options.decisions.length > 0) {
86
+ lines.push("", "## Decisions", "");
87
+ for (const decision of options.decisions) {
88
+ lines.push(`- ${decision}`);
89
+ }
90
+ }
91
+ if (options.discoveries.length > 0) {
92
+ lines.push("", "## Discoveries", "");
93
+ for (const discovery of options.discoveries) {
94
+ lines.push(`- ${discovery}`);
95
+ }
96
+ }
97
+ if (options.assumptions.length > 0) {
98
+ lines.push("", "## Assumptions", "");
99
+ for (const assumption of options.assumptions) {
100
+ lines.push(`- ${assumption}`);
101
+ }
102
+ }
103
+ writeTextFileAtomic(absolutePath, `${lines.join("\n")}\n`);
104
+ return relativePath;
105
+ }
106
+ function writeDurableArtifacts(projectRoot, options, timestamp, workstreamId, promotedCaptures) {
107
+ const artifacts = [];
108
+ const decisions = [
109
+ ...options.decisions.map((text) => ({ text })),
110
+ ...promotedCaptures
111
+ .filter((promotion) => promotion.kind === "decision")
112
+ .map((promotion) => capturePromotionToArtifactItem(promotion)),
113
+ ];
114
+ const discoveries = [
115
+ ...options.discoveries.map((text) => ({ text })),
116
+ ...promotedCaptures
117
+ .filter((promotion) => promotion.kind === "discovery")
118
+ .map((promotion) => capturePromotionToArtifactItem(promotion)),
119
+ ];
120
+ const assumptions = [
121
+ ...options.assumptions.map((text) => ({ text })),
122
+ ...promotedCaptures
123
+ .filter((promotion) => promotion.kind === "assumption")
124
+ .map((promotion) => capturePromotionToArtifactItem(promotion)),
125
+ ];
126
+ artifacts.push(...writeArtifactGroup(projectRoot, "decisions", decisions, timestamp, workstreamId, "decision"));
127
+ artifacts.push(...writeArtifactGroup(projectRoot, "discoveries", discoveries, timestamp, workstreamId, "discovery"));
128
+ artifacts.push(...writeArtifactGroup(projectRoot, "assumptions", assumptions, timestamp, workstreamId, "assumption"));
129
+ return artifacts;
130
+ }
131
+ function writeArtifactGroup(projectRoot, directoryName, items, timestamp, workstreamId, label) {
132
+ const relativePaths = [];
133
+ items.forEach((item, index) => {
134
+ const fileName = `${timestampToFileStem(timestamp)}-${workstreamId}-${label}-${index + 1}.md`;
135
+ const relativePath = path.join("docs", directoryName, fileName);
136
+ const absolutePath = path.join(projectRoot, relativePath);
137
+ const metadataLines = [
138
+ `- Recorded at: ${timestamp}`,
139
+ `- Workstream: ${workstreamId}`,
140
+ ];
141
+ if (item.capture) {
142
+ metadataLines.push(`- Source capture: ${item.capture.id}`);
143
+ metadataLines.push(`- Source scope: ${item.capture.scope}`);
144
+ if (item.capture.files.length > 0) {
145
+ metadataLines.push(`- Source files: ${item.capture.files.join(", ")}`);
146
+ }
147
+ }
148
+ writeTextFileAtomic(absolutePath, [
149
+ `# ${titleCase(label)}`,
150
+ "",
151
+ ...metadataLines,
152
+ "",
153
+ item.text,
154
+ "",
155
+ ].join("\n"));
156
+ relativePaths.push(relativePath);
157
+ });
158
+ return relativePaths;
159
+ }
160
+ function resolveCapturePromotions(projectRoot, workstreamId, options) {
161
+ if (options.capturePromotions.length === 0) {
162
+ return [];
163
+ }
164
+ const promotedCaptureIds = new Set(options.capturePromotions.map((promotion) => promotion.captureId));
165
+ const capturesById = new Map();
166
+ for (const capture of listProjectAndWorkstreamCaptures(projectRoot, workstreamId)) {
167
+ if (!promotedCaptureIds.has(capture.id)) {
168
+ continue;
169
+ }
170
+ if (capturesById.has(capture.id)) {
171
+ throw new Error(`Capture id is not unique and cannot be promoted safely: ${capture.id}`);
172
+ }
173
+ capturesById.set(capture.id, capture);
174
+ }
175
+ return options.capturePromotions.map((promotion) => {
176
+ const capture = capturesById.get(promotion.captureId);
177
+ if (!capture) {
178
+ throw new Error(`Capture not found for promotion: ${promotion.captureId}. ` +
179
+ "Only project captures and captures from the target workstream can be promoted.");
180
+ }
181
+ return {
182
+ kind: promotion.kind,
183
+ capture,
184
+ };
185
+ });
186
+ }
187
+ function capturePromotionToArtifactItem(promotion) {
188
+ return {
189
+ text: formatCaptureForArtifact(promotion.capture),
190
+ capture: promotion.capture,
191
+ };
192
+ }
193
+ function formatCaptureForArtifact(capture) {
194
+ const lines = [];
195
+ if (capture.body) {
196
+ lines.push(capture.body);
197
+ }
198
+ if (capture.note) {
199
+ if (lines.length > 0) {
200
+ lines.push("");
201
+ }
202
+ lines.push(`Note: ${capture.note}`);
203
+ }
204
+ if (capture.files.length > 0) {
205
+ if (lines.length > 0) {
206
+ lines.push("");
207
+ }
208
+ lines.push("Files:");
209
+ for (const file of capture.files) {
210
+ lines.push(`- ${file}`);
211
+ }
212
+ }
213
+ return lines.join("\n");
214
+ }
215
+ function buildContinuationHint(options, currentWorkstreamState) {
216
+ if (options.complete) {
217
+ return "Workstream completed.";
218
+ }
219
+ if (options.summary) {
220
+ return options.summary;
221
+ }
222
+ if (options.nextActions.length > 0) {
223
+ return `Next: ${options.nextActions[0]}`;
224
+ }
225
+ return currentWorkstreamState.continuation_hint;
226
+ }
227
+ function buildResumeFrom(options, workstreamState, currentResumeState) {
228
+ if (options.complete) {
229
+ return "Workstream completed.";
230
+ }
231
+ if (options.nextActions.length > 0) {
232
+ return `Resume with: ${options.nextActions[0]}`;
233
+ }
234
+ if (options.summary) {
235
+ return options.summary;
236
+ }
237
+ return currentResumeState.resume_from || workstreamState.continuation_hint;
238
+ }
239
+ function resolveNextActions(options, currentWorkstreamState) {
240
+ if (options.complete) {
241
+ return [];
242
+ }
243
+ if (options.nextActions.length > 0) {
244
+ return uniqueValues(options.nextActions);
245
+ }
246
+ return currentWorkstreamState.next_actions;
247
+ }
248
+ function uniqueValues(values) {
249
+ return Array.from(new Set(values.map((value) => value.trim()).filter(Boolean)));
250
+ }
251
+ function timestampToFileStem(timestamp) {
252
+ return timestamp.replace(/[.:]/g, "-");
253
+ }
254
+ function titleCase(value) {
255
+ return value.charAt(0).toUpperCase() + value.slice(1);
256
+ }
257
+ //# sourceMappingURL=wrap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wrap.js","sourceRoot":"","sources":["../src/wrap.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,20 @@
1
+ {
2
+ "name": "@iq-context/core",
3
+ "version": "0.1.0",
4
+ "description": "Core state and workflow engine for iQ Context.",
5
+ "type": "module",
6
+ "main": "./dist/index.js",
7
+ "types": "./dist/index.d.ts",
8
+ "publishConfig": {
9
+ "access": "public"
10
+ },
11
+ "files": [
12
+ "dist"
13
+ ],
14
+ "exports": {
15
+ ".": {
16
+ "types": "./dist/index.d.ts",
17
+ "default": "./dist/index.js"
18
+ }
19
+ }
20
+ }