@smartmemory/compose 0.1.34-beta → 0.1.36-beta

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 (71) hide show
  1. package/README.md +42 -0
  2. package/bin/compose.js +16 -0
  3. package/dist/assets/{App-DMCO9aNs.js → App-DO9nGI18.js} +8 -8
  4. package/dist/assets/{arc-DsXb95RZ.js → arc-DrI_lR89.js} +1 -1
  5. package/dist/assets/{architectureDiagram-3BPJPVTR-BaBYippI.js → architectureDiagram-3BPJPVTR-DyS14rP-.js} +1 -1
  6. package/dist/assets/{blockDiagram-GPEHLZMM-HwB_eL3_.js → blockDiagram-GPEHLZMM-elTUtlnM.js} +1 -1
  7. package/dist/assets/{c4Diagram-AAUBKEIU-CPSXghc8.js → c4Diagram-AAUBKEIU-CJ_8nsiM.js} +1 -1
  8. package/dist/assets/channel-Cda02Ntm.js +1 -0
  9. package/dist/assets/{chunk-2J33WTMH-CCN3bc9J.js → chunk-2J33WTMH-BllJC9rQ.js} +1 -1
  10. package/dist/assets/{chunk-4BX2VUAB-DuqFxpoV.js → chunk-4BX2VUAB-f3EEUpDr.js} +1 -1
  11. package/dist/assets/{chunk-55IACEB6-DT20mkDV.js → chunk-55IACEB6-CgbUlP7I.js} +1 -1
  12. package/dist/assets/{chunk-727SXJPM-ByMH6Qvp.js → chunk-727SXJPM-D9zRfRSY.js} +1 -1
  13. package/dist/assets/{chunk-AQP2D5EJ-CLgYtOHw.js → chunk-AQP2D5EJ-Bjp1xaJ8.js} +1 -1
  14. package/dist/assets/{chunk-FMBD7UC4-BXWmTsAA.js → chunk-FMBD7UC4-Dyvhvbkr.js} +1 -1
  15. package/dist/assets/{chunk-ND2GUHAM-C2WgVbpE.js → chunk-ND2GUHAM-D4dMBzz5.js} +1 -1
  16. package/dist/assets/{chunk-QZHKN3VN-DFuQRJeh.js → chunk-QZHKN3VN-CVhvkQt1.js} +1 -1
  17. package/dist/assets/classDiagram-4FO5ZUOK-BykFns4A.js +1 -0
  18. package/dist/assets/classDiagram-v2-Q7XG4LA2-BykFns4A.js +1 -0
  19. package/dist/assets/{cose-bilkent-S5V4N54A-CdyvK5N2.js → cose-bilkent-S5V4N54A-CylcCFl3.js} +1 -1
  20. package/dist/assets/{dagre-BM42HDAG-Drkta_n5.js → dagre-BM42HDAG-Dd1Ny0g8.js} +1 -1
  21. package/dist/assets/{diagram-2AECGRRQ-BRiBkuu5.js → diagram-2AECGRRQ-tVs4SxwR.js} +1 -1
  22. package/dist/assets/{diagram-5GNKFQAL-IrSBDK26.js → diagram-5GNKFQAL-UC1fUNjx.js} +1 -1
  23. package/dist/assets/{diagram-KO2AKTUF-BUktYepH.js → diagram-KO2AKTUF-Cxhb85Xt.js} +1 -1
  24. package/dist/assets/{diagram-LMA3HP47-B5erGOiF.js → diagram-LMA3HP47-DJMx1YAp.js} +1 -1
  25. package/dist/assets/{diagram-OG6HWLK6-5KoSfwod.js → diagram-OG6HWLK6-k_cRur_6.js} +1 -1
  26. package/dist/assets/{erDiagram-TEJ5UH35-CXSf-i6t.js → erDiagram-TEJ5UH35-ClfbMYdQ.js} +1 -1
  27. package/dist/assets/{flowDiagram-I6XJVG4X-DiwEgd9q.js → flowDiagram-I6XJVG4X-B9KvjWpm.js} +1 -1
  28. package/dist/assets/{ganttDiagram-6RSMTGT7-zQ94YEl2.js → ganttDiagram-6RSMTGT7-CCqvcQcy.js} +1 -1
  29. package/dist/assets/{gitGraphDiagram-PVQCEYII-CWNWantF.js → gitGraphDiagram-PVQCEYII-DN9gJgDY.js} +1 -1
  30. package/dist/assets/{graph-DPbJeZyN.js → graph-uO5hwVZK.js} +1 -1
  31. package/dist/assets/{index-CyFM4bTc.js → index-CtjbBZuo.js} +3 -3
  32. package/dist/assets/index-Dh2rRpBR.css +1 -0
  33. package/dist/assets/{infoDiagram-5YYISTIA-BcnrgEm6.js → infoDiagram-5YYISTIA-BZjN-ULc.js} +1 -1
  34. package/dist/assets/{ishikawaDiagram-YF4QCWOH-BRzURsJQ.js → ishikawaDiagram-YF4QCWOH-Ck1kwRqz.js} +1 -1
  35. package/dist/assets/{journeyDiagram-JHISSGLW-CdwMwMPo.js → journeyDiagram-JHISSGLW-CHKyH4p5.js} +1 -1
  36. package/dist/assets/{kanban-definition-UN3LZRKU-Difj4Zd-.js → kanban-definition-UN3LZRKU-Bq4CuVJj.js} +1 -1
  37. package/dist/assets/{linear-CKwgBFBW.js → linear-h6UanLnU.js} +1 -1
  38. package/dist/assets/{mindmap-definition-RKZ34NQL-C2aCD1L4.js → mindmap-definition-RKZ34NQL-IQcATrSw.js} +1 -1
  39. package/dist/assets/mobile-BwduHUEq.js +17 -0
  40. package/dist/assets/{pieDiagram-4H26LBE5-C9qGrfV0.js → pieDiagram-4H26LBE5-B7cw_oKH.js} +1 -1
  41. package/dist/assets/{quadrantDiagram-W4KKPZXB-COA0Z2JV.js → quadrantDiagram-W4KKPZXB-CqiNInwZ.js} +1 -1
  42. package/dist/assets/{requirementDiagram-4Y6WPE33-BJCU8yFE.js → requirementDiagram-4Y6WPE33-CynhQVI1.js} +1 -1
  43. package/dist/assets/{sankeyDiagram-5OEKKPKP-vYzK7FJ6.js → sankeyDiagram-5OEKKPKP-aFS3y10_.js} +1 -1
  44. package/dist/assets/{sequenceDiagram-3UESZ5HK-Bkh_RWpN.js → sequenceDiagram-3UESZ5HK-CTvZcil0.js} +1 -1
  45. package/dist/assets/{stateDiagram-AJRCARHV-BlUsbYTW.js → stateDiagram-AJRCARHV-DYXgroJe.js} +1 -1
  46. package/dist/assets/stateDiagram-v2-BHNVJYJU-BVQEXVG-.js +1 -0
  47. package/dist/assets/{timeline-definition-PNZ67QCA-DuYEZwxg.js → timeline-definition-PNZ67QCA-BtN3u7JC.js} +1 -1
  48. package/dist/assets/{vennDiagram-CIIHVFJN-D9a3Q3Ni.js → vennDiagram-CIIHVFJN-DsssmbTq.js} +1 -1
  49. package/dist/assets/{wardley-L42UT6IY-h2fQnc_J.js → wardley-L42UT6IY-BXD_QFvV.js} +1 -1
  50. package/dist/assets/{wardleyDiagram-YWT4CUSO-C-_dzSY5.js → wardleyDiagram-YWT4CUSO-CgZmwLSB.js} +1 -1
  51. package/dist/assets/{xychartDiagram-2RQKCTM6-CKxMIB7j.js → xychartDiagram-2RQKCTM6-BmiRpk6f.js} +1 -1
  52. package/dist/index.html +3 -3
  53. package/lib/build.js +60 -13
  54. package/lib/changelog-writer.js +111 -83
  55. package/lib/completion-writer.js +26 -9
  56. package/lib/feature-writer.js +62 -38
  57. package/lib/roadmap-gen.js +41 -14
  58. package/lib/tracker/cli.js +31 -0
  59. package/lib/tracker/factory.js +93 -0
  60. package/lib/tracker/github-api.js +115 -0
  61. package/lib/tracker/github-provider.js +641 -0
  62. package/lib/tracker/local-provider.js +202 -0
  63. package/lib/tracker/provider.js +40 -0
  64. package/lib/tracker/sync-engine.js +131 -0
  65. package/package.json +3 -2
  66. package/dist/assets/channel-TOlxWxU-.js +0 -1
  67. package/dist/assets/classDiagram-4FO5ZUOK-DZsvwI1V.js +0 -1
  68. package/dist/assets/classDiagram-v2-Q7XG4LA2-DZsvwI1V.js +0 -1
  69. package/dist/assets/index-CHkeTiSt.css +0 -1
  70. package/dist/assets/mobile-CsuriFuT.js +0 -17
  71. package/dist/assets/stateDiagram-v2-BHNVJYJU-_AUWPuja.js +0 -1
package/README.md CHANGED
@@ -82,6 +82,48 @@ Check what you're running:
82
82
  compose --version
83
83
  ```
84
84
 
85
+ ## Tracker providers
86
+
87
+ Compose can persist feature data to different backends via the `tracker` block in `.compose/compose.json`.
88
+
89
+ **Default (local) — zero configuration required:**
90
+
91
+ ```json
92
+ { "tracker": { "provider": "local" } }
93
+ ```
94
+
95
+ `local` is the default when no `tracker` block is present. All writes go to the filesystem exactly as before — no behavior change.
96
+
97
+ **GitHub provider:**
98
+
99
+ ```json
100
+ {
101
+ "tracker": {
102
+ "provider": "github",
103
+ "github": {
104
+ "repo": "owner/repo",
105
+ "projectNumber": 42,
106
+ "branch": "main",
107
+ "roadmapPath": "ROADMAP.md",
108
+ "changelogPath": "CHANGELOG.md",
109
+ "cacheTtlSeconds": 300,
110
+ "auth": { "tokenEnv": "GITHUB_TOKEN" }
111
+ }
112
+ }
113
+ }
114
+ ```
115
+
116
+ The GitHub provider syncs features to **Issues** (one per feature), **Projects v2** (`Status` custom field), and **Contents API** (roadmap + changelog files). Requires a token in the named env var (or `gh auth login` fallback) with `repo` and `project` scopes.
117
+
118
+ CLI verbs:
119
+
120
+ ```bash
121
+ compose tracker status # show provider health + pending op-log + conflict ledger
122
+ compose tracker sync # reconcile op-log against remote provider
123
+ ```
124
+
125
+ See [docs/configuration.md](docs/configuration.md) for the full `tracker` config reference.
126
+
85
127
  ## Documentation
86
128
 
87
129
  Topic-scoped reference:
package/bin/compose.js CHANGED
@@ -2674,6 +2674,22 @@ if (cmd === 'build') {
2674
2674
  process.exit(1)
2675
2675
  }
2676
2676
 
2677
+ } else if (cmd === 'tracker') {
2678
+ // ---------------------------------------------------------------------------
2679
+ // compose tracker status — print provider name, canonical, pendingOps, conflicts, mixedSources
2680
+ // compose tracker sync — flush op-log and report drained/quarantined counts
2681
+ // COMP-TRACKER-PROVIDER T18
2682
+ // ---------------------------------------------------------------------------
2683
+ try {
2684
+ const { runTrackerCli } = await import('../lib/tracker/cli.js')
2685
+ const result = await runTrackerCli(process.cwd(), args)
2686
+ console.log(result.output)
2687
+ if (result.exitCode !== 0) process.exit(result.exitCode)
2688
+ } catch (err) {
2689
+ console.error(`tracker: ${err.message}`)
2690
+ process.exit(1)
2691
+ }
2692
+
2677
2693
  } else {
2678
2694
  console.error(`Unknown command: ${cmd}`)
2679
2695
  process.exit(1)