okstra 0.207.0 → 0.207.1

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "okstra",
3
- "version": "0.207.0",
3
+ "version": "0.207.1",
4
4
  "description": "Host-aware multi-provider cross-verification orchestrator runtime and agent skills.",
5
5
  "license": "MIT",
6
6
  "author": "devonshin",
@@ -1,5 +1,5 @@
1
1
  {
2
- "package": "0.207.0",
3
- "builtAt": "2026-10-01T14:54:24.002Z",
2
+ "package": "0.207.1",
3
+ "builtAt": "2026-10-02T14:33:17.286Z",
4
4
  "repoRoot": "/home/runner/work/okstra/okstra"
5
5
  }
@@ -41,7 +41,12 @@ def _table(headers: tuple[str, ...], rows: list[list[str]], empty: str) -> str:
41
41
  if not rows:
42
42
  return f'<p class="empty">{_e(empty)}</p>'
43
43
  head = "".join(f"<th>{_e(header)}</th>" for header in headers)
44
- body = "".join("<tr>" + "".join(f"<td>{cell}</td>" for cell in row) + "</tr>" for row in rows)
44
+ body = "".join(
45
+ "<tr>"
46
+ + "".join(f'<td data-label="{_e(header)}">{cell}</td>' for header, cell in zip(headers, row))
47
+ + "</tr>"
48
+ for row in rows
49
+ )
45
50
  return f'<div class="scroll"><table><thead><tr>{head}</tr></thead><tbody>{body}</tbody></table></div>'
46
51
 
47
52
 
@@ -81,7 +86,8 @@ def _projects_table(projects: list[dict]) -> str:
81
86
  ]
82
87
  for project in projects
83
88
  ]
84
- return _table(("Project", "Root", "Role", "Tags", "Linked at"), rows, "No projects registered.")
89
+ table = _table(("Project", "Root", "Role", "Tags", "Linked at"), rows, "No projects registered.")
90
+ return f'<div class="projects">{table}</div>'
85
91
 
86
92
 
87
93
  def _child_rows(children: list[dict], roots: dict[str, str]) -> list[list[str]]:
@@ -168,7 +174,7 @@ def _task_panel(home: Path, manager_id: str, task: dict, status: dict, roots: di
168
174
  f"<code>{_e(sync_command)}</code>, then re-run the view command.</p>"
169
175
  )
170
176
  children = _table(
171
- ("Child", "Status", "Assignment"),
177
+ ("TaskID", "Status", "Assignment"),
172
178
  _child_rows(status["children"], roots),
173
179
  "No child tasks.",
174
180
  )
@@ -74,10 +74,13 @@ code.child-key { word-break: normal; }
74
74
  .child-links { display: flex; flex-wrap: wrap; gap: 8px 16px; margin-top: 10px; font-size: 12px; }
75
75
  .child-error { color: var(--blocked); margin: 8px 0 0; font-size: 12px; }
76
76
  @media (max-width: 700px) {
77
- .children table, .children tbody, .children tr, .children td { display: block; width: 100%; }
78
- .children thead { display: none; }
79
- .children tr { padding: 12px 0; border-bottom: 1px solid var(--line); }
80
- .children td { padding: 6px 0; border: 0; }
77
+ .children table, .children tbody, .children tr, .children td,
78
+ .projects table, .projects tbody, .projects tr, .projects td { display: block; width: 100%; }
79
+ .children thead, .projects thead { display: none; }
80
+ .children tr, .projects tr { padding: 12px 0; border-bottom: 1px solid var(--line); }
81
+ .children td, .projects td { padding: 6px 0; border: 0; }
82
+ .projects td { display: grid; grid-template-columns: 80px minmax(0, 1fr); gap: 10px; }
83
+ .projects td::before { content: attr(data-label); color: var(--muted); font-size: 12px; }
81
84
  }
82
85
  .chip {
83
86
  display: inline-block;