htmlgraph 0.9.3__py3-none-any.whl → 0.27.5__py3-none-any.whl

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 (331) hide show
  1. htmlgraph/.htmlgraph/.session-warning-state.json +6 -0
  2. htmlgraph/.htmlgraph/agents.json +72 -0
  3. htmlgraph/.htmlgraph/htmlgraph.db +0 -0
  4. htmlgraph/__init__.py +173 -17
  5. htmlgraph/__init__.pyi +123 -0
  6. htmlgraph/agent_detection.py +127 -0
  7. htmlgraph/agent_registry.py +45 -30
  8. htmlgraph/agents.py +160 -107
  9. htmlgraph/analytics/__init__.py +9 -2
  10. htmlgraph/analytics/cli.py +190 -51
  11. htmlgraph/analytics/cost_analyzer.py +391 -0
  12. htmlgraph/analytics/cost_monitor.py +664 -0
  13. htmlgraph/analytics/cost_reporter.py +675 -0
  14. htmlgraph/analytics/cross_session.py +617 -0
  15. htmlgraph/analytics/dependency.py +192 -100
  16. htmlgraph/analytics/pattern_learning.py +771 -0
  17. htmlgraph/analytics/session_graph.py +707 -0
  18. htmlgraph/analytics/strategic/__init__.py +80 -0
  19. htmlgraph/analytics/strategic/cost_optimizer.py +611 -0
  20. htmlgraph/analytics/strategic/pattern_detector.py +876 -0
  21. htmlgraph/analytics/strategic/preference_manager.py +709 -0
  22. htmlgraph/analytics/strategic/suggestion_engine.py +747 -0
  23. htmlgraph/analytics/work_type.py +190 -14
  24. htmlgraph/analytics_index.py +135 -51
  25. htmlgraph/api/__init__.py +3 -0
  26. htmlgraph/api/cost_alerts_websocket.py +416 -0
  27. htmlgraph/api/main.py +2498 -0
  28. htmlgraph/api/static/htmx.min.js +1 -0
  29. htmlgraph/api/static/style-redesign.css +1344 -0
  30. htmlgraph/api/static/style.css +1079 -0
  31. htmlgraph/api/templates/dashboard-redesign.html +1366 -0
  32. htmlgraph/api/templates/dashboard.html +794 -0
  33. htmlgraph/api/templates/partials/activity-feed-hierarchical.html +326 -0
  34. htmlgraph/api/templates/partials/activity-feed.html +1100 -0
  35. htmlgraph/api/templates/partials/agents-redesign.html +317 -0
  36. htmlgraph/api/templates/partials/agents.html +317 -0
  37. htmlgraph/api/templates/partials/event-traces.html +373 -0
  38. htmlgraph/api/templates/partials/features-kanban-redesign.html +509 -0
  39. htmlgraph/api/templates/partials/features.html +578 -0
  40. htmlgraph/api/templates/partials/metrics-redesign.html +346 -0
  41. htmlgraph/api/templates/partials/metrics.html +346 -0
  42. htmlgraph/api/templates/partials/orchestration-redesign.html +443 -0
  43. htmlgraph/api/templates/partials/orchestration.html +198 -0
  44. htmlgraph/api/templates/partials/spawners.html +375 -0
  45. htmlgraph/api/templates/partials/work-items.html +613 -0
  46. htmlgraph/api/websocket.py +538 -0
  47. htmlgraph/archive/__init__.py +24 -0
  48. htmlgraph/archive/bloom.py +234 -0
  49. htmlgraph/archive/fts.py +297 -0
  50. htmlgraph/archive/manager.py +583 -0
  51. htmlgraph/archive/search.py +244 -0
  52. htmlgraph/atomic_ops.py +560 -0
  53. htmlgraph/attribute_index.py +208 -0
  54. htmlgraph/bounded_paths.py +539 -0
  55. htmlgraph/builders/__init__.py +14 -0
  56. htmlgraph/builders/base.py +118 -29
  57. htmlgraph/builders/bug.py +150 -0
  58. htmlgraph/builders/chore.py +119 -0
  59. htmlgraph/builders/epic.py +150 -0
  60. htmlgraph/builders/feature.py +31 -6
  61. htmlgraph/builders/insight.py +195 -0
  62. htmlgraph/builders/metric.py +217 -0
  63. htmlgraph/builders/pattern.py +202 -0
  64. htmlgraph/builders/phase.py +162 -0
  65. htmlgraph/builders/spike.py +52 -19
  66. htmlgraph/builders/track.py +148 -72
  67. htmlgraph/cigs/__init__.py +81 -0
  68. htmlgraph/cigs/autonomy.py +385 -0
  69. htmlgraph/cigs/cost.py +475 -0
  70. htmlgraph/cigs/messages_basic.py +472 -0
  71. htmlgraph/cigs/messaging.py +365 -0
  72. htmlgraph/cigs/models.py +771 -0
  73. htmlgraph/cigs/pattern_storage.py +427 -0
  74. htmlgraph/cigs/patterns.py +503 -0
  75. htmlgraph/cigs/posttool_analyzer.py +234 -0
  76. htmlgraph/cigs/reporter.py +818 -0
  77. htmlgraph/cigs/tracker.py +317 -0
  78. htmlgraph/cli/.htmlgraph/.session-warning-state.json +6 -0
  79. htmlgraph/cli/.htmlgraph/agents.json +72 -0
  80. htmlgraph/cli/.htmlgraph/htmlgraph.db +0 -0
  81. htmlgraph/cli/__init__.py +42 -0
  82. htmlgraph/cli/__main__.py +6 -0
  83. htmlgraph/cli/analytics.py +1424 -0
  84. htmlgraph/cli/base.py +685 -0
  85. htmlgraph/cli/constants.py +206 -0
  86. htmlgraph/cli/core.py +954 -0
  87. htmlgraph/cli/main.py +147 -0
  88. htmlgraph/cli/models.py +475 -0
  89. htmlgraph/cli/templates/__init__.py +1 -0
  90. htmlgraph/cli/templates/cost_dashboard.py +399 -0
  91. htmlgraph/cli/work/__init__.py +239 -0
  92. htmlgraph/cli/work/browse.py +115 -0
  93. htmlgraph/cli/work/features.py +568 -0
  94. htmlgraph/cli/work/orchestration.py +676 -0
  95. htmlgraph/cli/work/report.py +728 -0
  96. htmlgraph/cli/work/sessions.py +466 -0
  97. htmlgraph/cli/work/snapshot.py +559 -0
  98. htmlgraph/cli/work/tracks.py +486 -0
  99. htmlgraph/cli_commands/__init__.py +1 -0
  100. htmlgraph/cli_commands/feature.py +195 -0
  101. htmlgraph/cli_framework.py +115 -0
  102. htmlgraph/collections/__init__.py +18 -0
  103. htmlgraph/collections/base.py +415 -98
  104. htmlgraph/collections/bug.py +53 -0
  105. htmlgraph/collections/chore.py +53 -0
  106. htmlgraph/collections/epic.py +53 -0
  107. htmlgraph/collections/feature.py +12 -26
  108. htmlgraph/collections/insight.py +100 -0
  109. htmlgraph/collections/metric.py +92 -0
  110. htmlgraph/collections/pattern.py +97 -0
  111. htmlgraph/collections/phase.py +53 -0
  112. htmlgraph/collections/session.py +194 -0
  113. htmlgraph/collections/spike.py +56 -16
  114. htmlgraph/collections/task_delegation.py +241 -0
  115. htmlgraph/collections/todo.py +511 -0
  116. htmlgraph/collections/traces.py +487 -0
  117. htmlgraph/config/cost_models.json +56 -0
  118. htmlgraph/config.py +190 -0
  119. htmlgraph/context_analytics.py +344 -0
  120. htmlgraph/converter.py +216 -28
  121. htmlgraph/cost_analysis/__init__.py +5 -0
  122. htmlgraph/cost_analysis/analyzer.py +438 -0
  123. htmlgraph/dashboard.html +2406 -307
  124. htmlgraph/dashboard.html.backup +6592 -0
  125. htmlgraph/dashboard.html.bak +7181 -0
  126. htmlgraph/dashboard.html.bak2 +7231 -0
  127. htmlgraph/dashboard.html.bak3 +7232 -0
  128. htmlgraph/db/__init__.py +38 -0
  129. htmlgraph/db/queries.py +790 -0
  130. htmlgraph/db/schema.py +1788 -0
  131. htmlgraph/decorators.py +317 -0
  132. htmlgraph/dependency_models.py +19 -2
  133. htmlgraph/deploy.py +142 -125
  134. htmlgraph/deployment_models.py +474 -0
  135. htmlgraph/docs/API_REFERENCE.md +841 -0
  136. htmlgraph/docs/HTTP_API.md +750 -0
  137. htmlgraph/docs/INTEGRATION_GUIDE.md +752 -0
  138. htmlgraph/docs/ORCHESTRATION_PATTERNS.md +717 -0
  139. htmlgraph/docs/README.md +532 -0
  140. htmlgraph/docs/__init__.py +77 -0
  141. htmlgraph/docs/docs_version.py +55 -0
  142. htmlgraph/docs/metadata.py +93 -0
  143. htmlgraph/docs/migrations.py +232 -0
  144. htmlgraph/docs/template_engine.py +143 -0
  145. htmlgraph/docs/templates/_sections/cli_reference.md.j2 +52 -0
  146. htmlgraph/docs/templates/_sections/core_concepts.md.j2 +29 -0
  147. htmlgraph/docs/templates/_sections/sdk_basics.md.j2 +69 -0
  148. htmlgraph/docs/templates/base_agents.md.j2 +78 -0
  149. htmlgraph/docs/templates/example_user_override.md.j2 +47 -0
  150. htmlgraph/docs/version_check.py +163 -0
  151. htmlgraph/edge_index.py +182 -27
  152. htmlgraph/error_handler.py +544 -0
  153. htmlgraph/event_log.py +100 -52
  154. htmlgraph/event_migration.py +13 -4
  155. htmlgraph/exceptions.py +49 -0
  156. htmlgraph/file_watcher.py +101 -28
  157. htmlgraph/find_api.py +75 -63
  158. htmlgraph/git_events.py +145 -63
  159. htmlgraph/graph.py +1122 -106
  160. htmlgraph/hooks/.htmlgraph/.session-warning-state.json +6 -0
  161. htmlgraph/hooks/.htmlgraph/agents.json +72 -0
  162. htmlgraph/hooks/.htmlgraph/index.sqlite +0 -0
  163. htmlgraph/hooks/__init__.py +45 -0
  164. htmlgraph/hooks/bootstrap.py +169 -0
  165. htmlgraph/hooks/cigs_pretool_enforcer.py +354 -0
  166. htmlgraph/hooks/concurrent_sessions.py +208 -0
  167. htmlgraph/hooks/context.py +350 -0
  168. htmlgraph/hooks/drift_handler.py +525 -0
  169. htmlgraph/hooks/event_tracker.py +1314 -0
  170. htmlgraph/hooks/git_commands.py +175 -0
  171. htmlgraph/hooks/hooks-config.example.json +12 -0
  172. htmlgraph/hooks/installer.py +343 -0
  173. htmlgraph/hooks/orchestrator.py +674 -0
  174. htmlgraph/hooks/orchestrator_reflector.py +223 -0
  175. htmlgraph/hooks/post-checkout.sh +28 -0
  176. htmlgraph/hooks/post-commit.sh +24 -0
  177. htmlgraph/hooks/post-merge.sh +26 -0
  178. htmlgraph/hooks/post_tool_use_failure.py +273 -0
  179. htmlgraph/hooks/post_tool_use_handler.py +257 -0
  180. htmlgraph/hooks/posttooluse.py +408 -0
  181. htmlgraph/hooks/pre-commit.sh +94 -0
  182. htmlgraph/hooks/pre-push.sh +28 -0
  183. htmlgraph/hooks/pretooluse.py +819 -0
  184. htmlgraph/hooks/prompt_analyzer.py +637 -0
  185. htmlgraph/hooks/session_handler.py +668 -0
  186. htmlgraph/hooks/session_summary.py +395 -0
  187. htmlgraph/hooks/state_manager.py +504 -0
  188. htmlgraph/hooks/subagent_detection.py +202 -0
  189. htmlgraph/hooks/subagent_stop.py +369 -0
  190. htmlgraph/hooks/task_enforcer.py +255 -0
  191. htmlgraph/hooks/task_validator.py +177 -0
  192. htmlgraph/hooks/validator.py +628 -0
  193. htmlgraph/ids.py +41 -27
  194. htmlgraph/index.d.ts +286 -0
  195. htmlgraph/learning.py +767 -0
  196. htmlgraph/mcp_server.py +69 -23
  197. htmlgraph/models.py +1586 -87
  198. htmlgraph/operations/README.md +62 -0
  199. htmlgraph/operations/__init__.py +79 -0
  200. htmlgraph/operations/analytics.py +339 -0
  201. htmlgraph/operations/bootstrap.py +289 -0
  202. htmlgraph/operations/events.py +244 -0
  203. htmlgraph/operations/fastapi_server.py +231 -0
  204. htmlgraph/operations/hooks.py +350 -0
  205. htmlgraph/operations/initialization.py +597 -0
  206. htmlgraph/operations/initialization.py.backup +228 -0
  207. htmlgraph/operations/server.py +303 -0
  208. htmlgraph/orchestration/__init__.py +58 -0
  209. htmlgraph/orchestration/claude_launcher.py +179 -0
  210. htmlgraph/orchestration/command_builder.py +72 -0
  211. htmlgraph/orchestration/headless_spawner.py +281 -0
  212. htmlgraph/orchestration/live_events.py +377 -0
  213. htmlgraph/orchestration/model_selection.py +327 -0
  214. htmlgraph/orchestration/plugin_manager.py +140 -0
  215. htmlgraph/orchestration/prompts.py +137 -0
  216. htmlgraph/orchestration/spawner_event_tracker.py +383 -0
  217. htmlgraph/orchestration/spawners/__init__.py +16 -0
  218. htmlgraph/orchestration/spawners/base.py +194 -0
  219. htmlgraph/orchestration/spawners/claude.py +173 -0
  220. htmlgraph/orchestration/spawners/codex.py +435 -0
  221. htmlgraph/orchestration/spawners/copilot.py +294 -0
  222. htmlgraph/orchestration/spawners/gemini.py +471 -0
  223. htmlgraph/orchestration/subprocess_runner.py +36 -0
  224. htmlgraph/orchestration/task_coordination.py +343 -0
  225. htmlgraph/orchestration.md +563 -0
  226. htmlgraph/orchestrator-system-prompt-optimized.txt +863 -0
  227. htmlgraph/orchestrator.py +669 -0
  228. htmlgraph/orchestrator_config.py +357 -0
  229. htmlgraph/orchestrator_mode.py +328 -0
  230. htmlgraph/orchestrator_validator.py +133 -0
  231. htmlgraph/parallel.py +646 -0
  232. htmlgraph/parser.py +160 -35
  233. htmlgraph/path_query.py +608 -0
  234. htmlgraph/pattern_matcher.py +636 -0
  235. htmlgraph/planning.py +147 -52
  236. htmlgraph/pydantic_models.py +476 -0
  237. htmlgraph/quality_gates.py +350 -0
  238. htmlgraph/query_builder.py +109 -72
  239. htmlgraph/query_composer.py +509 -0
  240. htmlgraph/reflection.py +443 -0
  241. htmlgraph/refs.py +344 -0
  242. htmlgraph/repo_hash.py +512 -0
  243. htmlgraph/repositories/__init__.py +292 -0
  244. htmlgraph/repositories/analytics_repository.py +455 -0
  245. htmlgraph/repositories/analytics_repository_standard.py +628 -0
  246. htmlgraph/repositories/feature_repository.py +581 -0
  247. htmlgraph/repositories/feature_repository_htmlfile.py +668 -0
  248. htmlgraph/repositories/feature_repository_memory.py +607 -0
  249. htmlgraph/repositories/feature_repository_sqlite.py +858 -0
  250. htmlgraph/repositories/filter_service.py +620 -0
  251. htmlgraph/repositories/filter_service_standard.py +445 -0
  252. htmlgraph/repositories/shared_cache.py +621 -0
  253. htmlgraph/repositories/shared_cache_memory.py +395 -0
  254. htmlgraph/repositories/track_repository.py +552 -0
  255. htmlgraph/repositories/track_repository_htmlfile.py +619 -0
  256. htmlgraph/repositories/track_repository_memory.py +508 -0
  257. htmlgraph/repositories/track_repository_sqlite.py +711 -0
  258. htmlgraph/routing.py +8 -19
  259. htmlgraph/scripts/deploy.py +1 -2
  260. htmlgraph/sdk/__init__.py +398 -0
  261. htmlgraph/sdk/__init__.pyi +14 -0
  262. htmlgraph/sdk/analytics/__init__.py +19 -0
  263. htmlgraph/sdk/analytics/engine.py +155 -0
  264. htmlgraph/sdk/analytics/helpers.py +178 -0
  265. htmlgraph/sdk/analytics/registry.py +109 -0
  266. htmlgraph/sdk/base.py +484 -0
  267. htmlgraph/sdk/constants.py +216 -0
  268. htmlgraph/sdk/core.pyi +308 -0
  269. htmlgraph/sdk/discovery.py +120 -0
  270. htmlgraph/sdk/help/__init__.py +12 -0
  271. htmlgraph/sdk/help/mixin.py +699 -0
  272. htmlgraph/sdk/mixins/__init__.py +15 -0
  273. htmlgraph/sdk/mixins/attribution.py +113 -0
  274. htmlgraph/sdk/mixins/mixin.py +410 -0
  275. htmlgraph/sdk/operations/__init__.py +12 -0
  276. htmlgraph/sdk/operations/mixin.py +427 -0
  277. htmlgraph/sdk/orchestration/__init__.py +17 -0
  278. htmlgraph/sdk/orchestration/coordinator.py +203 -0
  279. htmlgraph/sdk/orchestration/spawner.py +204 -0
  280. htmlgraph/sdk/planning/__init__.py +19 -0
  281. htmlgraph/sdk/planning/bottlenecks.py +93 -0
  282. htmlgraph/sdk/planning/mixin.py +211 -0
  283. htmlgraph/sdk/planning/parallel.py +186 -0
  284. htmlgraph/sdk/planning/queue.py +210 -0
  285. htmlgraph/sdk/planning/recommendations.py +87 -0
  286. htmlgraph/sdk/planning/smart_planning.py +319 -0
  287. htmlgraph/sdk/session/__init__.py +19 -0
  288. htmlgraph/sdk/session/continuity.py +57 -0
  289. htmlgraph/sdk/session/handoff.py +110 -0
  290. htmlgraph/sdk/session/info.py +309 -0
  291. htmlgraph/sdk/session/manager.py +103 -0
  292. htmlgraph/sdk/strategic/__init__.py +26 -0
  293. htmlgraph/sdk/strategic/mixin.py +563 -0
  294. htmlgraph/server.py +685 -180
  295. htmlgraph/services/__init__.py +10 -0
  296. htmlgraph/services/claiming.py +199 -0
  297. htmlgraph/session_hooks.py +300 -0
  298. htmlgraph/session_manager.py +1392 -175
  299. htmlgraph/session_registry.py +587 -0
  300. htmlgraph/session_state.py +436 -0
  301. htmlgraph/session_warning.py +201 -0
  302. htmlgraph/sessions/__init__.py +23 -0
  303. htmlgraph/sessions/handoff.py +756 -0
  304. htmlgraph/setup.py +34 -17
  305. htmlgraph/spike_index.py +143 -0
  306. htmlgraph/sync_docs.py +12 -15
  307. htmlgraph/system_prompts.py +450 -0
  308. htmlgraph/templates/AGENTS.md.template +366 -0
  309. htmlgraph/templates/CLAUDE.md.template +97 -0
  310. htmlgraph/templates/GEMINI.md.template +87 -0
  311. htmlgraph/templates/orchestration-view.html +350 -0
  312. htmlgraph/track_builder.py +146 -15
  313. htmlgraph/track_manager.py +69 -21
  314. htmlgraph/transcript.py +890 -0
  315. htmlgraph/transcript_analytics.py +699 -0
  316. htmlgraph/types.py +323 -0
  317. htmlgraph/validation.py +115 -0
  318. htmlgraph/watch.py +8 -5
  319. htmlgraph/work_type_utils.py +3 -2
  320. {htmlgraph-0.9.3.data → htmlgraph-0.27.5.data}/data/htmlgraph/dashboard.html +2406 -307
  321. htmlgraph-0.27.5.data/data/htmlgraph/templates/AGENTS.md.template +366 -0
  322. htmlgraph-0.27.5.data/data/htmlgraph/templates/CLAUDE.md.template +97 -0
  323. htmlgraph-0.27.5.data/data/htmlgraph/templates/GEMINI.md.template +87 -0
  324. {htmlgraph-0.9.3.dist-info → htmlgraph-0.27.5.dist-info}/METADATA +97 -64
  325. htmlgraph-0.27.5.dist-info/RECORD +337 -0
  326. {htmlgraph-0.9.3.dist-info → htmlgraph-0.27.5.dist-info}/entry_points.txt +1 -1
  327. htmlgraph/cli.py +0 -2688
  328. htmlgraph/sdk.py +0 -709
  329. htmlgraph-0.9.3.dist-info/RECORD +0 -61
  330. {htmlgraph-0.9.3.data → htmlgraph-0.27.5.data}/data/htmlgraph/styles.css +0 -0
  331. {htmlgraph-0.9.3.dist-info → htmlgraph-0.27.5.dist-info}/WHEEL +0 -0
@@ -0,0 +1,750 @@
1
+ # HtmlGraph HTTP API Reference
2
+
3
+ REST API for HtmlGraph server. Use this when integrating HtmlGraph with external services or accessing the graph database over HTTP.
4
+
5
+ ## Base URL
6
+
7
+ ```
8
+ http://localhost:8080/api
9
+ ```
10
+
11
+ ## Starting the Server
12
+
13
+ ```bash
14
+ # Via CLI
15
+ htmlgraph serve --port 8080
16
+
17
+ # Via Python
18
+ from htmlgraph import serve
19
+ serve(port=8080, directory=".htmlgraph")
20
+ ```
21
+
22
+ ## Response Format
23
+
24
+ All responses are JSON with consistent structure:
25
+
26
+ **Success Response:**
27
+ ```json
28
+ {
29
+ "success": true,
30
+ "data": { ... },
31
+ "timestamp": "2025-01-06T10:30:45.123Z"
32
+ }
33
+ ```
34
+
35
+ **Error Response:**
36
+ ```json
37
+ {
38
+ "success": false,
39
+ "error": "Resource not found",
40
+ "error_code": "NOT_FOUND",
41
+ "timestamp": "2025-01-06T10:30:45.123Z"
42
+ }
43
+ ```
44
+
45
+ ## Status Codes
46
+
47
+ | Code | Meaning | Use Case |
48
+ |------|---------|----------|
49
+ | 200 | OK | Successful request |
50
+ | 201 | Created | Resource created successfully |
51
+ | 400 | Bad Request | Invalid parameters |
52
+ | 404 | Not Found | Resource doesn't exist |
53
+ | 409 | Conflict | Resource already exists or claim conflict |
54
+ | 500 | Server Error | Internal error |
55
+
56
+ ---
57
+
58
+ ## Endpoints
59
+
60
+ ### `/api/status` - Server Status
61
+
62
+ **GET** `/api/status`
63
+
64
+ Get server status and basic information.
65
+
66
+ **Response:**
67
+ ```json
68
+ {
69
+ "success": true,
70
+ "data": {
71
+ "status": "running",
72
+ "version": "0.24.1",
73
+ "collections": {
74
+ "features": 42,
75
+ "bugs": 8,
76
+ "spikes": 5,
77
+ "chores": 12,
78
+ "epics": 3,
79
+ "sessions": 156,
80
+ "agents": 12,
81
+ "tracks": 4
82
+ },
83
+ "uptime_seconds": 3600,
84
+ "timestamp": "2025-01-06T10:30:45.123Z"
85
+ }
86
+ }
87
+ ```
88
+
89
+ ---
90
+
91
+ ### `/api/features` - Feature Operations
92
+
93
+ **POST** `/api/features` - Create Feature
94
+
95
+ Create a new feature.
96
+
97
+ **Request Body:**
98
+ ```json
99
+ {
100
+ "title": "User Authentication System",
101
+ "priority": "high",
102
+ "status": "todo",
103
+ "description": "Implement JWT-based auth",
104
+ "steps": [
105
+ "Design schema",
106
+ "Implement API",
107
+ "Add tests"
108
+ ],
109
+ "track": "auth",
110
+ "agent": "claude"
111
+ }
112
+ ```
113
+
114
+ **Response:**
115
+ ```json
116
+ {
117
+ "success": true,
118
+ "data": {
119
+ "id": "feat-abc123",
120
+ "title": "User Authentication System",
121
+ "type": "feature",
122
+ "status": "todo",
123
+ "priority": "high",
124
+ "created_at": "2025-01-06T10:30:45.123Z",
125
+ "updated_at": "2025-01-06T10:30:45.123Z",
126
+ "steps": [...],
127
+ "agent": "claude"
128
+ }
129
+ }
130
+ ```
131
+
132
+ **Parameters:**
133
+ - `title` (required, string): Feature title
134
+ - `priority` (optional, string): "low", "medium", "high", "critical" (default: "medium")
135
+ - `status` (optional, string): "todo", "in-progress", "blocked", "done" (default: "todo")
136
+ - `description` (optional, string): Feature description
137
+ - `steps` (optional, array): Implementation steps
138
+ - `track` (optional, string): Track identifier
139
+ - `agent` (optional, string): Agent identifier
140
+
141
+ ---
142
+
143
+ **GET** `/api/features` - List Features
144
+
145
+ Retrieve features with optional filtering.
146
+
147
+ **Query Parameters:**
148
+ - `status` (optional): Filter by status
149
+ - `priority` (optional): Filter by priority
150
+ - `agent` (optional): Filter by assigned agent
151
+ - `track` (optional): Filter by track
152
+ - `limit` (optional): Max results (default: 100)
153
+ - `offset` (optional): Pagination offset (default: 0)
154
+
155
+ **Request:**
156
+ ```bash
157
+ GET /api/features?status=todo&priority=high&limit=50
158
+ ```
159
+
160
+ **Response:**
161
+ ```json
162
+ {
163
+ "success": true,
164
+ "data": {
165
+ "items": [
166
+ {
167
+ "id": "feat-abc123",
168
+ "title": "User Auth",
169
+ "status": "todo",
170
+ "priority": "high",
171
+ ...
172
+ }
173
+ ],
174
+ "total": 247,
175
+ "limit": 50,
176
+ "offset": 0
177
+ }
178
+ }
179
+ ```
180
+
181
+ ---
182
+
183
+ **GET** `/api/features/{id}` - Get Feature
184
+
185
+ Retrieve a specific feature.
186
+
187
+ **Request:**
188
+ ```bash
189
+ GET /api/features/feat-abc123
190
+ ```
191
+
192
+ **Response:**
193
+ ```json
194
+ {
195
+ "success": true,
196
+ "data": {
197
+ "id": "feat-abc123",
198
+ "title": "User Authentication System",
199
+ "type": "feature",
200
+ "status": "todo",
201
+ "priority": "high",
202
+ "created_at": "2025-01-06T10:30:45.123Z",
203
+ "updated_at": "2025-01-06T10:30:45.123Z",
204
+ "steps": [
205
+ {
206
+ "description": "Design schema",
207
+ "completed": false,
208
+ "completed_at": null
209
+ },
210
+ {
211
+ "description": "Implement API",
212
+ "completed": false,
213
+ "completed_at": null
214
+ }
215
+ ],
216
+ "agent": "claude",
217
+ "edges": {
218
+ "blocks": ["feat-xyz789"],
219
+ "blocked_by": ["feat-def456"]
220
+ }
221
+ }
222
+ }
223
+ ```
224
+
225
+ ---
226
+
227
+ **PUT** `/api/features/{id}` - Update Feature
228
+
229
+ Update a feature.
230
+
231
+ **Request Body:**
232
+ ```json
233
+ {
234
+ "status": "in-progress",
235
+ "priority": "critical",
236
+ "steps": [
237
+ {
238
+ "description": "Design schema",
239
+ "completed": true,
240
+ "completed_at": "2025-01-06T10:30:45.123Z"
241
+ }
242
+ ]
243
+ }
244
+ ```
245
+
246
+ **Response:**
247
+ ```json
248
+ {
249
+ "success": true,
250
+ "data": {
251
+ "id": "feat-abc123",
252
+ "status": "in-progress",
253
+ "priority": "critical",
254
+ "updated_at": "2025-01-06T10:31:15.456Z",
255
+ ...
256
+ }
257
+ }
258
+ ```
259
+
260
+ ---
261
+
262
+ **DELETE** `/api/features/{id}` - Delete Feature
263
+
264
+ Delete a feature.
265
+
266
+ **Request:**
267
+ ```bash
268
+ DELETE /api/features/feat-abc123
269
+ ```
270
+
271
+ **Response:**
272
+ ```json
273
+ {
274
+ "success": true,
275
+ "data": {
276
+ "deleted": true,
277
+ "id": "feat-abc123"
278
+ }
279
+ }
280
+ ```
281
+
282
+ ---
283
+
284
+ ### `/api/bugs` - Bug Operations
285
+
286
+ Same interface as features. Endpoints:
287
+ - `POST /api/bugs` - Create bug
288
+ - `GET /api/bugs` - List bugs
289
+ - `GET /api/bugs/{id}` - Get bug
290
+ - `PUT /api/bugs/{id}` - Update bug
291
+ - `DELETE /api/bugs/{id}` - Delete bug
292
+
293
+ ---
294
+
295
+ ### `/api/spikes` - Spike Operations
296
+
297
+ Same interface as features. Endpoints:
298
+ - `POST /api/spikes` - Create spike
299
+ - `GET /api/spikes` - List spikes
300
+ - `GET /api/spikes/{id}` - Get spike
301
+ - `PUT /api/spikes/{id}` - Update spike
302
+ - `DELETE /api/spikes/{id}` - Delete spike
303
+
304
+ ---
305
+
306
+ ### `/api/chores` - Chore Operations
307
+
308
+ Same interface as features. Endpoints:
309
+ - `POST /api/chores` - Create chore
310
+ - `GET /api/chores` - List chores
311
+ - `GET /api/chores/{id}` - Get chore
312
+ - `PUT /api/chores/{id}` - Update chore
313
+ - `DELETE /api/chores/{id}` - Delete chore
314
+
315
+ ---
316
+
317
+ ### `/api/tasks` - Task Delegation
318
+
319
+ **POST** `/api/tasks` - Create Task Delegation
320
+
321
+ ```json
322
+ {
323
+ "prompt": "Implement user authentication",
324
+ "agent": "coder",
325
+ "task_id": "task-auth-001",
326
+ "status": "pending",
327
+ "priority": "high"
328
+ }
329
+ ```
330
+
331
+ **Response:**
332
+ ```json
333
+ {
334
+ "success": true,
335
+ "data": {
336
+ "task_id": "task-auth-001",
337
+ "status": "pending",
338
+ "created_at": "2025-01-06T10:30:45.123Z",
339
+ ...
340
+ }
341
+ }
342
+ ```
343
+
344
+ ---
345
+
346
+ **GET** `/api/tasks` - List Task Delegations
347
+
348
+ **Query Parameters:**
349
+ - `status` (optional): "pending", "in-progress", "completed", "failed"
350
+ - `agent` (optional): Filter by assigned agent
351
+ - `limit` (optional): Max results
352
+
353
+ ---
354
+
355
+ **GET** `/api/tasks/{task_id}` - Get Task
356
+
357
+ Retrieve specific task delegation with results.
358
+
359
+ **Response:**
360
+ ```json
361
+ {
362
+ "success": true,
363
+ "data": {
364
+ "task_id": "task-auth-001",
365
+ "prompt": "Implement user authentication",
366
+ "agent": "coder",
367
+ "status": "completed",
368
+ "result": {
369
+ "output": "Authentication module implemented...",
370
+ "success": true,
371
+ "tokens_used": 8432
372
+ },
373
+ "created_at": "2025-01-06T10:30:45.123Z",
374
+ "completed_at": "2025-01-06T11:30:45.123Z"
375
+ }
376
+ }
377
+ ```
378
+
379
+ ---
380
+
381
+ **PUT** `/api/tasks/{task_id}` - Update Task Status
382
+
383
+ ```json
384
+ {
385
+ "status": "in-progress"
386
+ }
387
+ ```
388
+
389
+ ---
390
+
391
+ ### `/api/query` - Advanced Query
392
+
393
+ **POST** `/api/query` - Execute Complex Query
394
+
395
+ For queries beyond simple filtering, use the query endpoint.
396
+
397
+ **Request Body:**
398
+ ```json
399
+ {
400
+ "collection": "features",
401
+ "conditions": [
402
+ {
403
+ "field": "status",
404
+ "operator": "eq",
405
+ "value": "todo"
406
+ },
407
+ {
408
+ "field": "priority",
409
+ "operator": "in",
410
+ "value": ["high", "critical"]
411
+ },
412
+ {
413
+ "field": "completion",
414
+ "operator": "lt",
415
+ "value": 50
416
+ }
417
+ ],
418
+ "logical_op": "and"
419
+ }
420
+ ```
421
+
422
+ **Response:**
423
+ ```json
424
+ {
425
+ "success": true,
426
+ "data": {
427
+ "results": [
428
+ { "id": "feat-001", "title": "...", ... }
429
+ ],
430
+ "count": 12
431
+ }
432
+ }
433
+ ```
434
+
435
+ **Operators:**
436
+ - `eq` - Equal
437
+ - `ne` - Not equal
438
+ - `gt` - Greater than
439
+ - `gte` - Greater than or equal
440
+ - `lt` - Less than
441
+ - `lte` - Less than or equal
442
+ - `in` - In list
443
+ - `not_in` - Not in list
444
+ - `contains` - String contains
445
+ - `starts_with` - Starts with
446
+ - `ends_with` - Ends with
447
+ - `matches` - Regex match
448
+
449
+ ---
450
+
451
+ ### `/api/agent-stats` - Agent Statistics
452
+
453
+ **GET** `/api/agent-stats` - Get Agent Statistics
454
+
455
+ Get statistics for all agents.
456
+
457
+ **Response:**
458
+ ```json
459
+ {
460
+ "success": true,
461
+ "data": {
462
+ "agents": [
463
+ {
464
+ "agent_id": "claude",
465
+ "total_tasks": 156,
466
+ "completed": 142,
467
+ "in_progress": 8,
468
+ "blocked": 6,
469
+ "completion_rate": 0.91,
470
+ "avg_completion_time_seconds": 3600,
471
+ "specialties": ["python", "architecture", "testing"]
472
+ }
473
+ ]
474
+ }
475
+ }
476
+ ```
477
+
478
+ ---
479
+
480
+ **GET** `/api/agent-stats/{agent_id}` - Get Agent Details
481
+
482
+ Get detailed statistics for specific agent.
483
+
484
+ **Response:**
485
+ ```json
486
+ {
487
+ "success": true,
488
+ "data": {
489
+ "agent_id": "claude",
490
+ "total_tasks": 156,
491
+ "by_status": {
492
+ "completed": 142,
493
+ "in_progress": 8,
494
+ "blocked": 6
495
+ },
496
+ "by_priority": {
497
+ "low": 24,
498
+ "medium": 89,
499
+ "high": 35,
500
+ "critical": 8
501
+ },
502
+ "completion_rate": 0.91,
503
+ "avg_completion_time_seconds": 3600,
504
+ "error_rate": 0.03,
505
+ "last_active": "2025-01-06T10:30:45.123Z"
506
+ }
507
+ }
508
+ ```
509
+
510
+ ---
511
+
512
+ ### `/api/analytics` - Analytics
513
+
514
+ **GET** `/api/analytics/work-distribution` - Work Type Distribution
515
+
516
+ ```json
517
+ {
518
+ "success": true,
519
+ "data": {
520
+ "feature": 42,
521
+ "bug": 18,
522
+ "spike": 5,
523
+ "chore": 12,
524
+ "epic": 3,
525
+ "total": 80
526
+ }
527
+ }
528
+ ```
529
+
530
+ ---
531
+
532
+ **GET** `/api/analytics/bottlenecks` - Find Bottlenecks
533
+
534
+ Query Parameters:
535
+ - `limit` (optional): Number of bottlenecks to return (default: 5)
536
+
537
+ ```json
538
+ {
539
+ "success": true,
540
+ "data": {
541
+ "bottlenecks": [
542
+ {
543
+ "node_id": "feat-001",
544
+ "title": "Database Schema",
545
+ "blocking_count": 8,
546
+ "blocker_ids": ["feat-002", "feat-003", ...],
547
+ "priority": "critical"
548
+ }
549
+ ]
550
+ }
551
+ }
552
+ ```
553
+
554
+ ---
555
+
556
+ **GET** `/api/analytics/parallel-work` - Get Parallelizable Work
557
+
558
+ Query Parameters:
559
+ - `max_agents` (optional): Max agents to plan for (default: 3)
560
+
561
+ ```json
562
+ {
563
+ "success": true,
564
+ "data": {
565
+ "parallel_work": {
566
+ "agent_1": ["feat-001", "feat-002"],
567
+ "agent_2": ["feat-003", "feat-004"],
568
+ "agent_3": ["feat-005"]
569
+ },
570
+ "total_parallelizable": 5,
571
+ "estimated_time_reduction": "33%"
572
+ }
573
+ }
574
+ ```
575
+
576
+ ---
577
+
578
+ ## Error Responses
579
+
580
+ ### 400 Bad Request
581
+
582
+ Missing or invalid parameters.
583
+
584
+ ```json
585
+ {
586
+ "success": false,
587
+ "error": "Invalid priority value. Must be one of: low, medium, high, critical",
588
+ "error_code": "INVALID_PARAMETER",
589
+ "field": "priority",
590
+ "timestamp": "2025-01-06T10:30:45.123Z"
591
+ }
592
+ ```
593
+
594
+ ---
595
+
596
+ ### 404 Not Found
597
+
598
+ Resource doesn't exist.
599
+
600
+ ```json
601
+ {
602
+ "success": false,
603
+ "error": "Feature not found",
604
+ "error_code": "NOT_FOUND",
605
+ "resource": "feature",
606
+ "id": "feat-missing",
607
+ "timestamp": "2025-01-06T10:30:45.123Z"
608
+ }
609
+ ```
610
+
611
+ ---
612
+
613
+ ### 409 Conflict
614
+
615
+ Resource already exists or claim conflict.
616
+
617
+ ```json
618
+ {
619
+ "success": false,
620
+ "error": "Feature already claimed by another agent",
621
+ "error_code": "CLAIM_CONFLICT",
622
+ "resource": "feature",
623
+ "id": "feat-abc123",
624
+ "claimed_by": "claude",
625
+ "timestamp": "2025-01-06T10:30:45.123Z"
626
+ }
627
+ ```
628
+
629
+ ---
630
+
631
+ ### 500 Server Error
632
+
633
+ Internal server error.
634
+
635
+ ```json
636
+ {
637
+ "success": false,
638
+ "error": "Internal server error",
639
+ "error_code": "INTERNAL_ERROR",
640
+ "details": "Optional error details for debugging",
641
+ "timestamp": "2025-01-06T10:30:45.123Z"
642
+ }
643
+ ```
644
+
645
+ ---
646
+
647
+ ## Pagination
648
+
649
+ List endpoints support pagination via query parameters:
650
+
651
+ ```bash
652
+ # Get items 50-99
653
+ GET /api/features?limit=50&offset=50
654
+
655
+ # Get first 10
656
+ GET /api/features?limit=10
657
+ ```
658
+
659
+ **Response includes:**
660
+ ```json
661
+ {
662
+ "data": {
663
+ "items": [...],
664
+ "total": 247,
665
+ "limit": 50,
666
+ "offset": 50,
667
+ "has_next": true,
668
+ "has_previous": true
669
+ }
670
+ }
671
+ ```
672
+
673
+ ---
674
+
675
+ ## Rate Limiting
676
+
677
+ No rate limiting currently implemented. Clients should implement backoff strategies for large batch operations.
678
+
679
+ ---
680
+
681
+ ## Authentication
682
+
683
+ Currently no authentication required. In production environments, use a reverse proxy with authentication (e.g., nginx with OAuth2).
684
+
685
+ ---
686
+
687
+ ## CORS Headers
688
+
689
+ Server includes standard CORS headers:
690
+ ```
691
+ Access-Control-Allow-Origin: *
692
+ Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS
693
+ Access-Control-Allow-Headers: Content-Type, Authorization
694
+ ```
695
+
696
+ ---
697
+
698
+ ## Content Type
699
+
700
+ All requests and responses use:
701
+ ```
702
+ Content-Type: application/json; charset=utf-8
703
+ ```
704
+
705
+ ---
706
+
707
+ ## Complete Example
708
+
709
+ ```bash
710
+ # Create a feature
711
+ curl -X POST http://localhost:8080/api/features \
712
+ -H "Content-Type: application/json" \
713
+ -d '{
714
+ "title": "User Authentication",
715
+ "priority": "high",
716
+ "steps": ["Design", "Implement", "Test"]
717
+ }'
718
+
719
+ # Response:
720
+ # {
721
+ # "success": true,
722
+ # "data": {
723
+ # "id": "feat-abc123",
724
+ # "title": "User Authentication",
725
+ # ...
726
+ # }
727
+ # }
728
+
729
+ # List high priority features
730
+ curl http://localhost:8080/api/features?priority=high
731
+
732
+ # Get specific feature
733
+ curl http://localhost:8080/api/features/feat-abc123
734
+
735
+ # Update feature status
736
+ curl -X PUT http://localhost:8080/api/features/feat-abc123 \
737
+ -H "Content-Type: application/json" \
738
+ -d '{"status": "in-progress"}'
739
+
740
+ # Delete feature
741
+ curl -X DELETE http://localhost:8080/api/features/feat-abc123
742
+ ```
743
+
744
+ ---
745
+
746
+ ## See Also
747
+
748
+ - [SDK API Reference](API_REFERENCE.md) - Python SDK documentation
749
+ - [Orchestration Patterns](ORCHESTRATION_PATTERNS.md) - Multi-agent patterns
750
+ - [Integration Guide](INTEGRATION_GUIDE.md) - Quick start guide