@lumenflow/cli 3.6.6 → 3.6.7

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 (67) hide show
  1. package/dist/init.js +78 -7
  2. package/dist/init.js.map +1 -1
  3. package/dist/initiative-create.js +74 -23
  4. package/dist/initiative-create.js.map +1 -1
  5. package/dist/lane-lock.js +62 -1
  6. package/dist/lane-lock.js.map +1 -1
  7. package/dist/lane-setup.js +102 -28
  8. package/dist/lane-setup.js.map +1 -1
  9. package/dist/lane-status.js +42 -0
  10. package/dist/lane-status.js.map +1 -1
  11. package/dist/lane-validate.js +62 -1
  12. package/dist/lane-validate.js.map +1 -1
  13. package/dist/plan-link.js +25 -2
  14. package/dist/plan-link.js.map +1 -1
  15. package/dist/public-manifest.js +7 -0
  16. package/dist/public-manifest.js.map +1 -1
  17. package/dist/release.js +17 -0
  18. package/dist/release.js.map +1 -1
  19. package/dist/state-doctor-fix.js +12 -11
  20. package/dist/state-doctor-fix.js.map +1 -1
  21. package/dist/state-emit.js +198 -0
  22. package/dist/state-emit.js.map +1 -0
  23. package/dist/wu-claim-state.js +58 -15
  24. package/dist/wu-claim-state.js.map +1 -1
  25. package/dist/wu-claim-worktree.js +3 -3
  26. package/dist/wu-claim-worktree.js.map +1 -1
  27. package/dist/wu-claim.js +19 -1
  28. package/dist/wu-claim.js.map +1 -1
  29. package/dist/wu-create-content.js +2 -4
  30. package/dist/wu-create-content.js.map +1 -1
  31. package/dist/wu-create-validation.js +14 -1
  32. package/dist/wu-create-validation.js.map +1 -1
  33. package/dist/wu-create.js +2 -6
  34. package/dist/wu-create.js.map +1 -1
  35. package/dist/wu-done.js +95 -4
  36. package/dist/wu-done.js.map +1 -1
  37. package/dist/wu-edit-operations.js +36 -5
  38. package/dist/wu-edit-operations.js.map +1 -1
  39. package/dist/wu-recover.js +115 -12
  40. package/dist/wu-recover.js.map +1 -1
  41. package/package.json +9 -8
  42. package/packs/sidekick/.turbo/turbo-build.log +4 -0
  43. package/packs/sidekick/README.md +194 -0
  44. package/packs/sidekick/constants.ts +10 -0
  45. package/packs/sidekick/index.ts +8 -0
  46. package/packs/sidekick/manifest-schema.ts +262 -0
  47. package/packs/sidekick/manifest.ts +333 -0
  48. package/packs/sidekick/manifest.yaml +406 -0
  49. package/packs/sidekick/pack-registration.ts +110 -0
  50. package/packs/sidekick/package.json +55 -0
  51. package/packs/sidekick/tool-impl/channel-tools.ts +226 -0
  52. package/packs/sidekick/tool-impl/index.ts +22 -0
  53. package/packs/sidekick/tool-impl/memory-tools.ts +188 -0
  54. package/packs/sidekick/tool-impl/routine-tools.ts +194 -0
  55. package/packs/sidekick/tool-impl/shared.ts +124 -0
  56. package/packs/sidekick/tool-impl/storage.ts +315 -0
  57. package/packs/sidekick/tool-impl/system-tools.ts +155 -0
  58. package/packs/sidekick/tool-impl/task-tools.ts +278 -0
  59. package/packs/sidekick/tools/channel-tools.ts +53 -0
  60. package/packs/sidekick/tools/index.ts +9 -0
  61. package/packs/sidekick/tools/memory-tools.ts +53 -0
  62. package/packs/sidekick/tools/routine-tools.ts +53 -0
  63. package/packs/sidekick/tools/system-tools.ts +47 -0
  64. package/packs/sidekick/tools/task-tools.ts +61 -0
  65. package/packs/sidekick/tools/types.ts +57 -0
  66. package/packs/sidekick/tsconfig.json +20 -0
  67. package/templates/core/ai/onboarding/starting-prompt.md.template +33 -2
@@ -8,7 +8,7 @@
8
8
  *
9
9
  * Analyzes WU state inconsistencies and offers recovery actions:
10
10
  * - resume: Reconcile state and continue working (preserves work)
11
- * - reset: Discard worktree and reset WU to ready
11
+ * - reset: Discard worktree and reset WU to ready (requires --force)
12
12
  * - nuke: Remove all artifacts completely (requires --force)
13
13
  * - cleanup: Remove leftover worktree for done WUs
14
14
  *
@@ -25,7 +25,7 @@ import { die } from '@lumenflow/core/error-handler';
25
25
  import { WU_PATHS } from '@lumenflow/core/wu-paths';
26
26
  import { readWU, writeWU } from '@lumenflow/core/wu-yaml';
27
27
  import { CONTEXT_VALIDATION, EMOJI, WU_STATUS, DEFAULTS, toKebab, FILE_SYSTEM, REMOTES, GIT_FLAGS, getLaneBranch, } from '@lumenflow/core/wu-constants';
28
- import { getGitForCwd } from '@lumenflow/core/git-adapter';
28
+ import { getGitForCwd, createGitForPath } from '@lumenflow/core/git-adapter';
29
29
  import { withMicroWorktree } from '@lumenflow/core/micro-worktree';
30
30
  import { WUStateStore } from '@lumenflow/core/wu-state-store';
31
31
  import { generateBacklog, generateStatus } from '@lumenflow/core/backlog-generator';
@@ -46,9 +46,42 @@ const VALID_ACTIONS = [
46
46
  ];
47
47
  /**
48
48
  * Check if action requires --force flag
49
+ *
50
+ * WU-2238: reset is destructive (deletes remote branch, emits release event)
51
+ * and now requires --force alongside nuke.
49
52
  */
50
53
  export function requiresForceFlag(action) {
51
- return action === RECOVERY_ACTIONS.NUKE;
54
+ return action === RECOVERY_ACTIONS.NUKE || action === RECOVERY_ACTIONS.RESET;
55
+ }
56
+ /**
57
+ * WU-2238: Get warning message for reset action listing what will be destroyed.
58
+ */
59
+ export function getResetWarningMessage(wuId) {
60
+ return [
61
+ `WARNING: --action reset for ${wuId} is destructive and will:`,
62
+ ` - Delete the remote branch (origin/lane/...)`,
63
+ ` - Emit a release event to the state store`,
64
+ ` - Remove the local worktree (if it exists)`,
65
+ ` - Reset WU status to ready and clear all claim metadata`,
66
+ ``,
67
+ `Any unmerged work on the remote branch will be permanently lost.`,
68
+ ``,
69
+ `To proceed, re-run with --force:`,
70
+ ` pnpm wu:recover --id ${wuId} --action reset --force`,
71
+ ].join('\n');
72
+ }
73
+ /**
74
+ * WU-2238: Get a warning message for any destructive action.
75
+ * Returns empty string for non-destructive actions.
76
+ */
77
+ export function getDestructiveActionWarning(action, wuId) {
78
+ if (action === RECOVERY_ACTIONS.RESET) {
79
+ return getResetWarningMessage(wuId);
80
+ }
81
+ if (action === RECOVERY_ACTIONS.NUKE) {
82
+ return `Action '${action}' is destructive and requires --force flag for ${wuId}`;
83
+ }
84
+ return '';
52
85
  }
53
86
  /**
54
87
  * Validate recovery action
@@ -113,6 +146,48 @@ function getWorktreePath(wuId, lane) {
113
146
  const wuIdLower = wuId.toLowerCase();
114
147
  return join(process.cwd(), DEFAULTS.WORKTREES_DIR, `${laneKebab}-${wuIdLower}`);
115
148
  }
149
+ /**
150
+ * WU-2249: Check if a worktree has uncommitted changes (dirty files).
151
+ *
152
+ * @param worktreePath - Absolute path to the worktree directory
153
+ * @returns Array of dirty file lines (empty if clean or path does not exist)
154
+ */
155
+ export async function checkWorktreeForDirtyFiles(worktreePath) {
156
+ if (!existsSync(worktreePath)) {
157
+ return [];
158
+ }
159
+ try {
160
+ const git = createGitForPath(worktreePath);
161
+ const status = await git.getStatus();
162
+ if (!status) {
163
+ return [];
164
+ }
165
+ return status.split('\n').filter((line) => line.trim() !== '');
166
+ }
167
+ catch (err) {
168
+ // If git status fails (e.g., not a valid git dir), treat as clean but warn
169
+ console.warn(`${LOG_PREFIX} Warning: could not check worktree for dirty files: ${err}`);
170
+ return [];
171
+ }
172
+ }
173
+ /**
174
+ * WU-2249: Get an abort message when worktree has uncommitted changes.
175
+ *
176
+ * @param wuId - The WU ID
177
+ * @param dirtyFiles - Array of dirty file lines from git status --porcelain
178
+ * @returns Human-readable abort message with instructions
179
+ */
180
+ export function getDirtyWorktreeAbortMessage(wuId, dirtyFiles) {
181
+ return [
182
+ `ABORT: Worktree for ${wuId} has uncommitted changes:`,
183
+ ``,
184
+ ...dirtyFiles.map((f) => ` ${f}`),
185
+ ``,
186
+ `To preserve your work, commit or stash changes in the worktree first.`,
187
+ `To discard changes and proceed with reset, re-run with --discard-changes:`,
188
+ ` pnpm wu:recover --id ${wuId} --action reset --force --discard-changes`,
189
+ ].join('\n');
190
+ }
116
191
  export function getLaneBranchNameForWU(wuId, lane) {
117
192
  return getLaneBranch(lane, wuId);
118
193
  }
@@ -201,6 +276,7 @@ async function executeResume(wuId) {
201
276
  }
202
277
  }
203
278
  // WU-1226: Use micro-worktree isolation for state changes
279
+ // WU-2240: Also emit claim event to state store so wu:done succeeds
204
280
  try {
205
281
  await withMicroWorktree({
206
282
  operation: OPERATION_NAME,
@@ -214,9 +290,19 @@ async function executeResume(wuId) {
214
290
  // Update status to in_progress
215
291
  microDoc.status = WU_STATUS.IN_PROGRESS;
216
292
  writeWU(microWuPath, microDoc);
293
+ // WU-2240: Emit corrective claim event to state store
294
+ // Without this, state store still thinks WU is ready, and wu:done
295
+ // fails with "status ready, expected in_progress"
296
+ const stateDir = resolveStateDir(worktreePath);
297
+ const store = new WUStateStore(stateDir);
298
+ await store.load();
299
+ const lane = microDoc.lane || '';
300
+ const title = microDoc.title || `WU ${wuId}`;
301
+ await store.claim(wuId, lane, title);
302
+ console.log(`${LOG_PREFIX} Emitted claim event to state store`);
217
303
  return {
218
304
  commitMessage: `fix(wu-recover): resume ${wuId} - set status to in_progress`,
219
- files: [relative(process.cwd(), wuPath)],
305
+ files: [relative(process.cwd(), wuPath), resolveWuEventsRelativePath(worktreePath)],
220
306
  };
221
307
  },
222
308
  });
@@ -237,7 +323,7 @@ async function executeResume(wuId) {
237
323
  * Worktree removal still happens directly (git operation, not file write).
238
324
  * Changes are pushed via merge, not direct file modification on main.
239
325
  */
240
- async function executeReset(wuId) {
326
+ async function executeReset(wuId, discardChanges = false) {
241
327
  console.log(`${LOG_PREFIX} Executing reset action for ${wuId}...`);
242
328
  const wuPath = WU_PATHS.WU(wuId);
243
329
  if (!existsSync(wuPath)) {
@@ -248,6 +334,14 @@ async function executeReset(wuId) {
248
334
  const branchPrPath = shouldUseBranchPrRecoverPath(doc);
249
335
  const worktreePath = getWorktreePath(wuId, doc.lane || '');
250
336
  const lane = doc.lane || '';
337
+ // WU-2249: Check worktree for uncommitted changes before deletion
338
+ if (existsSync(worktreePath) && !discardChanges) {
339
+ const dirtyFiles = await checkWorktreeForDirtyFiles(worktreePath);
340
+ if (dirtyFiles.length > 0) {
341
+ console.error(getDirtyWorktreeAbortMessage(wuId, dirtyFiles));
342
+ return false;
343
+ }
344
+ }
251
345
  // Remove worktree if exists (git operation, safe to do directly)
252
346
  // WU-1097: Use worktreeRemove() instead of deprecated run() with shell strings
253
347
  // This properly handles paths with spaces and special characters
@@ -456,12 +550,12 @@ async function executeCleanup(wuId) {
456
550
  * @param wuId - WU ID to recover
457
551
  * @returns Promise<boolean> - true if action succeeded
458
552
  */
459
- export async function executeRecoveryAction(action, wuId) {
553
+ export async function executeRecoveryAction(action, wuId, options) {
460
554
  switch (action) {
461
555
  case RECOVERY_ACTIONS.RESUME:
462
556
  return executeResume(wuId);
463
557
  case RECOVERY_ACTIONS.RESET:
464
- return executeReset(wuId);
558
+ return executeReset(wuId, options?.discardChanges);
465
559
  case RECOVERY_ACTIONS.NUKE:
466
560
  return executeNuke(wuId);
467
561
  case RECOVERY_ACTIONS.CLEANUP:
@@ -490,7 +584,13 @@ export async function main() {
490
584
  name: 'force',
491
585
  flags: '-f, --force',
492
586
  type: 'boolean',
493
- description: 'Required for destructive actions (nuke)',
587
+ description: 'Required for destructive actions (reset, nuke)',
588
+ },
589
+ {
590
+ name: 'discardChanges',
591
+ flags: '--discard-changes',
592
+ type: 'boolean',
593
+ description: 'Allow reset to proceed even if worktree has uncommitted changes',
494
594
  },
495
595
  {
496
596
  name: 'json',
@@ -502,7 +602,7 @@ export async function main() {
502
602
  required: ['id'],
503
603
  allowPositionalId: true,
504
604
  });
505
- const { id, action, force, json } = args;
605
+ const { id, action, force, discardChanges, json } = args;
506
606
  // Compute context for the WU
507
607
  const { context } = await computeContext({ wuId: id });
508
608
  // Analyze recovery issues
@@ -523,12 +623,15 @@ export async function main() {
523
623
  if (!validation.valid) {
524
624
  die(validation.error);
525
625
  }
526
- // Check force flag for destructive actions
626
+ // WU-2238: Check force flag for destructive actions with detailed warning
527
627
  if (requiresForceFlag(action) && !force) {
528
- die(`Action '${action}' requires --force flag`);
628
+ const warning = getDestructiveActionWarning(action, id);
629
+ die(warning || `Action '${action}' requires --force flag`);
529
630
  }
530
631
  // Execute action
531
- const success = await executeRecoveryAction(action, id);
632
+ const success = await executeRecoveryAction(action, id, {
633
+ discardChanges,
634
+ });
532
635
  if (!success) {
533
636
  console.error(`${LOG_PREFIX} ${EMOJI.FAILURE} Recovery action failed`);
534
637
  process.exit(1);
@@ -1 +1 @@
1
- {"version":3,"file":"wu-recover.js","sourceRoot":"","sources":["../src/wu-recover.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wu-recover.js","sourceRoot":"","sources":["../src/wu-recover.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lumenflow/cli",
3
- "version": "3.6.6",
3
+ "version": "3.6.7",
4
4
  "description": "Command-line interface for LumenFlow workflow framework",
5
5
  "keywords": [
6
6
  "lumenflow",
@@ -130,6 +130,7 @@
130
130
  "lane-lock": "./dist/lane-lock.js",
131
131
  "state-cleanup": "./dist/state-cleanup.js",
132
132
  "state-doctor": "./dist/state-doctor.js",
133
+ "state-emit": "./dist/state-emit.js",
133
134
  "lumenflow-integrate": "./dist/commands/integrate.js",
134
135
  "pack-author": "./dist/pack-author.js",
135
136
  "pack-scaffold": "./dist/pack-scaffold.js",
@@ -177,13 +178,13 @@
177
178
  "xstate": "^5.28.0",
178
179
  "yaml": "^2.8.2",
179
180
  "zod": "^4.3.6",
180
- "@lumenflow/control-plane-sdk": "3.6.6",
181
- "@lumenflow/kernel": "3.6.6",
182
- "@lumenflow/agent": "3.6.6",
183
- "@lumenflow/core": "3.6.6",
184
- "@lumenflow/initiatives": "3.6.6",
185
- "@lumenflow/memory": "3.6.6",
186
- "@lumenflow/metrics": "3.6.6"
181
+ "@lumenflow/initiatives": "3.6.7",
182
+ "@lumenflow/control-plane-sdk": "3.6.7",
183
+ "@lumenflow/agent": "3.6.7",
184
+ "@lumenflow/memory": "3.6.7",
185
+ "@lumenflow/core": "3.6.7",
186
+ "@lumenflow/kernel": "3.6.7",
187
+ "@lumenflow/metrics": "3.6.7"
187
188
  },
188
189
  "devDependencies": {
189
190
  "@vitest/coverage-v8": "^4.0.18",
@@ -0,0 +1,4 @@
1
+
2
+ > @lumenflow/packs-sidekick@3.6.6 build /home/tom/source/hellmai/lumenflow-dev/worktrees/framework-core-lifecycle-wu-2267/packages/@lumenflow/packs/sidekick
3
+ > tsc
4
+
@@ -0,0 +1,194 @@
1
+ # Sidekick Pack
2
+
3
+ Personal productivity pack for the LumenFlow kernel. Provides task management,
4
+ workspace memory, communication channels, routines, and system administration
5
+ tools -- all scoped to a local `.sidekick/` directory.
6
+
7
+ ## Status
8
+
9
+ **Version**: 0.1.0 (pre-release)
10
+ **License**: AGPL-3.0-only
11
+
12
+ ## Tool Groups
13
+
14
+ | Group | Tools | Description |
15
+ | ------- | ------------------------------------------------------------ | ------------------------------------------- |
16
+ | Task | `task:create`, `task:list`, `task:complete`, `task:schedule` | Create, query, complete, and schedule tasks |
17
+ | Memory | `memory:store`, `memory:recall`, `memory:forget` | Persist and retrieve workspace knowledge |
18
+ | Channel | `channel:configure`, `channel:send`, `channel:receive` | Named message channels |
19
+ | Routine | `routine:create`, `routine:list`, `routine:run` | Multi-step tool sequences (plan-only) |
20
+ | System | `sidekick:init`, `sidekick:status`, `sidekick:export` | Bootstrap, health check, data export |
21
+
22
+ **Total**: 16 tools
23
+
24
+ ## Key Design Decisions
25
+
26
+ - **`.sidekick/` is workspace-local storage.** All data lives under the project
27
+ root in a `.sidekick/` directory managed by the `StoragePort` abstraction.
28
+ - **`routine:run` returns a plan only.** It resolves the routine definition and
29
+ returns the ordered list of steps with their inputs. It does not execute them.
30
+ - **`sidekick:export` is read-only.** It returns all stored data as a JSON
31
+ structure. It does not write files to disk.
32
+ - **Every write tool supports `dry_run`.** When `dry_run: true`, the tool
33
+ validates input and returns what it would do, without persisting changes.
34
+ - **Pack manifest is the contract.** There is no separate contract package. The
35
+ `manifest.yaml` file defines tool names, schemas, scopes, and policies.
36
+
37
+ ## Manual Smoke Flow
38
+
39
+ Use this sequence to verify the pack end-to-end after installation or upgrade.
40
+
41
+ ### Prerequisites
42
+
43
+ - LumenFlow kernel runtime with the sidekick pack registered
44
+ - HTTP surface running (for HTTP dispatch tests)
45
+
46
+ ### Step 1: Initialize
47
+
48
+ ```bash
49
+ # Via kernel tool dispatch (or HTTP POST /tools/sidekick:init)
50
+ tool: sidekick:init
51
+ input: {}
52
+ ```
53
+
54
+ Expected: `{ "success": true, "data": { "initialized": true, "root_dir": ".sidekick" } }`
55
+
56
+ ### Step 2: Create a Task
57
+
58
+ ```bash
59
+ tool: task:create
60
+ input: { "title": "Review docs", "priority": "P1", "tags": ["docs"] }
61
+ ```
62
+
63
+ Expected: `{ "success": true, "data": { "id": "<uuid>", "title": "Review docs", ... } }`
64
+
65
+ ### Step 3: List Tasks
66
+
67
+ ```bash
68
+ tool: task:list
69
+ input: { "status": "pending" }
70
+ ```
71
+
72
+ Expected: Array containing the task from Step 2.
73
+
74
+ ### Step 4: Store a Memory
75
+
76
+ ```bash
77
+ tool: memory:store
78
+ input: { "type": "note", "content": "Sidekick pack validated", "tags": ["smoke-test"] }
79
+ ```
80
+
81
+ Expected: `{ "success": true, "data": { "id": "<uuid>", ... } }`
82
+
83
+ ### Step 5: Recall Memory
84
+
85
+ ```bash
86
+ tool: memory:recall
87
+ input: { "query": "validated", "type": "note" }
88
+ ```
89
+
90
+ Expected: Array containing the memory from Step 4.
91
+
92
+ ### Step 6: Create a Routine
93
+
94
+ ```bash
95
+ tool: routine:create
96
+ input: {
97
+ "name": "daily-review",
98
+ "steps": [
99
+ { "tool": "task:list", "input": { "status": "pending" } },
100
+ { "tool": "sidekick:status", "input": {} }
101
+ ]
102
+ }
103
+ ```
104
+
105
+ Expected: `{ "success": true, "data": { "id": "<uuid>", "name": "daily-review", ... } }`
106
+
107
+ ### Step 7: Run Routine (plan-only)
108
+
109
+ ```bash
110
+ tool: routine:run
111
+ input: { "id": "<routine-id-from-step-6>" }
112
+ ```
113
+
114
+ Expected: A plan object listing the two steps with their resolved inputs. No
115
+ side-effects -- the steps are NOT executed.
116
+
117
+ ### Step 8: Check Status
118
+
119
+ ```bash
120
+ tool: sidekick:status
121
+ input: {}
122
+ ```
123
+
124
+ Expected: Summary showing `task_count >= 1`, `memory_entries >= 1`,
125
+ `routines >= 1`.
126
+
127
+ ### Step 9: Export
128
+
129
+ ```bash
130
+ tool: sidekick:export
131
+ input: { "include_audit": true }
132
+ ```
133
+
134
+ Expected: Full JSON dump of all stores including audit trail from prior steps.
135
+
136
+ ### Step 10: Complete the Task
137
+
138
+ ```bash
139
+ tool: task:complete
140
+ input: { "id": "<task-id-from-step-2>", "note": "Smoke test passed" }
141
+ ```
142
+
143
+ Expected: `{ "success": true, "data": { "status": "done", ... } }`
144
+
145
+ ### Step 11: Verify via HTTP Surface
146
+
147
+ ```bash
148
+ curl -X POST http://localhost:<port>/tools/sidekick:status \
149
+ -H "Content-Type: application/json" \
150
+ -d '{ "context": { "task_id": "smoke-test", "workspace_id": "test" } }'
151
+ ```
152
+
153
+ Expected: HTTP 200 with the same status payload as Step 8.
154
+
155
+ ### Dry Run Verification
156
+
157
+ Repeat Step 2 with `"dry_run": true` added to the input. Verify that the
158
+ response includes `"dry_run": true` and that `task:list` does not return the
159
+ dry-run task.
160
+
161
+ ## Validation
162
+
163
+ ```bash
164
+ # Schema and integrity validation
165
+ pnpm pack:validate --id sidekick
166
+
167
+ # Unit tests (119 tests across 3 suites)
168
+ npx vitest run packages/@lumenflow/packs/sidekick/__tests__/
169
+
170
+ # HTTP surface tests (13 tests)
171
+ npx vitest run packages/@lumenflow/surfaces/http/__tests__/tool-api.test.ts
172
+ ```
173
+
174
+ ## Storage Architecture
175
+
176
+ The pack uses a `StoragePort` abstraction with a filesystem adapter
177
+ (`FsStoragePort`). Each store (tasks, memories, channels, messages, routines)
178
+ is a JSON array file under `.sidekick/`. An append-only `audit.jsonl` file
179
+ records every tool invocation.
180
+
181
+ ```
182
+ .sidekick/
183
+ tasks.json
184
+ memories.json
185
+ channels.json
186
+ messages.json
187
+ routines.json
188
+ audit.jsonl
189
+ ```
190
+
191
+ ## Contributing
192
+
193
+ This pack follows the LumenFlow development workflow. See the root `CLAUDE.md`
194
+ and `LUMENFLOW.md` for contribution guidelines.
@@ -0,0 +1,10 @@
1
+ // Copyright (c) 2026 Hellmai Ltd
2
+ // SPDX-License-Identifier: AGPL-3.0-only
3
+
4
+ export const SIDEKICK_PACK_ID = 'sidekick' as const;
5
+ export const SIDEKICK_PACK_VERSION = '0.1.0' as const;
6
+ export const SIDEKICK_DOMAIN = SIDEKICK_PACK_ID;
7
+ export const SIDEKICK_POLICY_ID_PREFIX = `${SIDEKICK_PACK_ID}.policy` as const;
8
+ export const SIDEKICK_MANIFEST_FILE_NAME = 'manifest.yaml' as const;
9
+ export const SHA256_ALGORITHM = 'sha256' as const;
10
+ export const UTF8_ENCODING = 'utf8' as const;
@@ -0,0 +1,8 @@
1
+ // Copyright (c) 2026 Hellmai Ltd
2
+ // SPDX-License-Identifier: AGPL-3.0-only
3
+
4
+ export * from './constants.js';
5
+ export * from './manifest.js';
6
+ export * from './manifest-schema.js';
7
+ export * from './pack-registration.js';
8
+ export * from './tools/types.js';