opencode-usage-coach 0.1.4 → 0.1.6

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 (2) hide show
  1. package/dist/tui.js +170 -170
  2. package/package.json +1 -1
package/dist/tui.js CHANGED
@@ -157,160 +157,160 @@ function initializeTui(api, disposeRoot) {
157
157
  return _el$7;
158
158
  })());
159
159
  nodes.push((() => {
160
- var _el$9 = _$createElement("text");
161
- _$insertNode(_el$9, _$createTextNode(` 5h `));
160
+ var _el$9 = _$createElement("box"), _el$0 = _$createElement("text"), _el$10 = _$createElement("text"), _el$11 = _$createElement("text"), _el$12 = _$createElement("text"), _el$13 = _$createTextNode(` `), _el$14 = _$createTextNode(`% `);
161
+ _$insertNode(_el$9, _el$0);
162
+ _$insertNode(_el$9, _el$10);
163
+ _$insertNode(_el$9, _el$11);
164
+ _$insertNode(_el$9, _el$12);
165
+ _$setProp(_el$9, "flexDirection", "row");
166
+ _$insertNode(_el$0, _$createTextNode(` 5h `));
167
+ _$insert(_el$10, () => barFill(p.fiveHour));
168
+ _$insert(_el$11, () => barEmpty(p.fiveHour));
169
+ _$insertNode(_el$12, _el$13);
170
+ _$insertNode(_el$12, _el$14);
171
+ _$insert(_el$12, () => p.fiveHour, _el$14);
172
+ _$insert(_el$12, () => p.fiveHourReset, null);
173
+ _$effect((_p$) => {
174
+ var _v$ = st("text"), _v$2 = st("textMuted");
175
+ _v$ !== _p$.e && (_p$.e = _$setProp(_el$10, "style", _v$, _p$.e));
176
+ _v$2 !== _p$.t && (_p$.t = _$setProp(_el$11, "style", _v$2, _p$.t));
177
+ return _p$;
178
+ }, {
179
+ e: void 0,
180
+ t: void 0
181
+ });
162
182
  return _el$9;
163
183
  })());
164
184
  nodes.push((() => {
165
- var _el$1 = _$createElement("text");
166
- _$insert(_el$1, () => barFill(p.fiveHour));
167
- _$effect((_$p) => _$setProp(_el$1, "style", st("text"), _$p));
168
- return _el$1;
185
+ var _el$15 = _$createElement("box"), _el$16 = _$createElement("text"), _el$18 = _$createElement("text"), _el$19 = _$createElement("text"), _el$20 = _$createElement("text"), _el$21 = _$createTextNode(` `), _el$22 = _$createTextNode(`% `);
186
+ _$insertNode(_el$15, _el$16);
187
+ _$insertNode(_el$15, _el$18);
188
+ _$insertNode(_el$15, _el$19);
189
+ _$insertNode(_el$15, _el$20);
190
+ _$setProp(_el$15, "flexDirection", "row");
191
+ _$insertNode(_el$16, _$createTextNode(` wk `));
192
+ _$insert(_el$18, () => barFill(p.weekly));
193
+ _$insert(_el$19, () => barEmpty(p.weekly));
194
+ _$insertNode(_el$20, _el$21);
195
+ _$insertNode(_el$20, _el$22);
196
+ _$insert(_el$20, () => p.weekly, _el$22);
197
+ _$insert(_el$20, () => p.weeklyReset, null);
198
+ _$effect((_p$) => {
199
+ var _v$3 = st("text"), _v$4 = st("textMuted");
200
+ _v$3 !== _p$.e && (_p$.e = _$setProp(_el$18, "style", _v$3, _p$.e));
201
+ _v$4 !== _p$.t && (_p$.t = _$setProp(_el$19, "style", _v$4, _p$.t));
202
+ return _p$;
203
+ }, {
204
+ e: void 0,
205
+ t: void 0
206
+ });
207
+ return _el$15;
169
208
  })());
170
209
  nodes.push((() => {
171
- var _el$10 = _$createElement("text");
172
- _$insert(_el$10, () => barEmpty(p.fiveHour));
173
- _$effect((_$p) => _$setProp(_el$10, "style", st("textMuted"), _$p));
174
- return _el$10;
175
- })());
176
- nodes.push((() => {
177
- var _el$11 = _$createElement("text"), _el$12 = _$createTextNode(` `), _el$13 = _$createTextNode(`% `);
178
- _$insertNode(_el$11, _el$12);
179
- _$insertNode(_el$11, _el$13);
180
- _$insert(_el$11, () => p.fiveHour, _el$13);
181
- _$insert(_el$11, () => p.fiveHourReset, null);
182
- return _el$11;
183
- })());
184
- nodes.push((() => {
185
- var _el$14 = _$createElement("text");
186
- _$insertNode(_el$14, _$createTextNode(` wk `));
187
- return _el$14;
188
- })());
189
- nodes.push((() => {
190
- var _el$16 = _$createElement("text");
191
- _$insert(_el$16, () => barFill(p.weekly));
192
- _$effect((_$p) => _$setProp(_el$16, "style", st("text"), _$p));
193
- return _el$16;
194
- })());
195
- nodes.push((() => {
196
- var _el$17 = _$createElement("text");
197
- _$insert(_el$17, () => barEmpty(p.weekly));
198
- _$effect((_$p) => _$setProp(_el$17, "style", st("textMuted"), _$p));
199
- return _el$17;
200
- })());
201
- nodes.push((() => {
202
- var _el$18 = _$createElement("text"), _el$19 = _$createTextNode(` `), _el$20 = _$createTextNode(`% `);
203
- _$insertNode(_el$18, _el$19);
204
- _$insertNode(_el$18, _el$20);
205
- _$insert(_el$18, () => p.weekly, _el$20);
206
- _$insert(_el$18, () => p.weeklyReset, null);
207
- return _el$18;
208
- })());
209
- nodes.push((() => {
210
- var _el$21 = _$createElement("text"), _el$22 = _$createTextNode(` -> `);
211
- _$insertNode(_el$21, _el$22);
212
- _$insert(_el$21, () => p.advice, null);
213
- _$effect((_$p) => _$setProp(_el$21, "style", st(dKey), _$p));
214
- return _el$21;
210
+ var _el$23 = _$createElement("text"), _el$24 = _$createTextNode(` -> `);
211
+ _$insertNode(_el$23, _el$24);
212
+ _$insert(_el$23, () => p.advice, null);
213
+ _$effect((_$p) => _$setProp(_el$23, "style", st(dKey), _$p));
214
+ return _el$23;
215
215
  })());
216
216
  }
217
217
  } else {
218
218
  nodes.push((() => {
219
- var _el$25 = _$createElement("text");
220
- _$insertNode(_el$25, _$createTextNode(` 5h `));
221
- return _el$25;
222
- })());
223
- nodes.push((() => {
224
- var _el$27 = _$createElement("text");
225
- _$insert(_el$27, () => barFill(s.fiveHour));
226
- _$effect((_$p) => _$setProp(_el$27, "style", st("text"), _$p));
219
+ var _el$27 = _$createElement("box"), _el$28 = _$createElement("text"), _el$30 = _$createElement("text"), _el$31 = _$createElement("text"), _el$32 = _$createElement("text"), _el$33 = _$createTextNode(` `), _el$34 = _$createTextNode(`%`);
220
+ _$insertNode(_el$27, _el$28);
221
+ _$insertNode(_el$27, _el$30);
222
+ _$insertNode(_el$27, _el$31);
223
+ _$insertNode(_el$27, _el$32);
224
+ _$setProp(_el$27, "flexDirection", "row");
225
+ _$insertNode(_el$28, _$createTextNode(` 5h `));
226
+ _$insert(_el$30, () => barFill(s.fiveHour));
227
+ _$insert(_el$31, () => barEmpty(s.fiveHour));
228
+ _$insertNode(_el$32, _el$33);
229
+ _$insertNode(_el$32, _el$34);
230
+ _$insert(_el$32, () => s.fiveHour, _el$34);
231
+ _$effect((_p$) => {
232
+ var _v$5 = st("text"), _v$6 = st("textMuted");
233
+ _v$5 !== _p$.e && (_p$.e = _$setProp(_el$30, "style", _v$5, _p$.e));
234
+ _v$6 !== _p$.t && (_p$.t = _$setProp(_el$31, "style", _v$6, _p$.t));
235
+ return _p$;
236
+ }, {
237
+ e: void 0,
238
+ t: void 0
239
+ });
227
240
  return _el$27;
228
241
  })());
229
242
  nodes.push((() => {
230
- var _el$28 = _$createElement("text");
231
- _$insert(_el$28, () => barEmpty(s.fiveHour));
232
- _$effect((_$p) => _$setProp(_el$28, "style", st("textMuted"), _$p));
233
- return _el$28;
234
- })());
235
- nodes.push((() => {
236
- var _el$29 = _$createElement("text"), _el$30 = _$createTextNode(` `), _el$31 = _$createTextNode(`%`);
237
- _$insertNode(_el$29, _el$30);
238
- _$insertNode(_el$29, _el$31);
239
- _$insert(_el$29, () => s.fiveHour, _el$31);
240
- return _el$29;
241
- })());
242
- nodes.push((() => {
243
- var _el$32 = _$createElement("text");
244
- _$insertNode(_el$32, _$createTextNode(` wk `));
245
- return _el$32;
246
- })());
247
- nodes.push((() => {
248
- var _el$34 = _$createElement("text");
249
- _$insert(_el$34, () => barFill(s.weekly));
250
- _$effect((_$p) => _$setProp(_el$34, "style", st("text"), _$p));
251
- return _el$34;
252
- })());
253
- nodes.push((() => {
254
- var _el$35 = _$createElement("text");
255
- _$insert(_el$35, () => barEmpty(s.weekly));
256
- _$effect((_$p) => _$setProp(_el$35, "style", st("textMuted"), _$p));
243
+ var _el$35 = _$createElement("box"), _el$36 = _$createElement("text"), _el$38 = _$createElement("text"), _el$39 = _$createElement("text"), _el$40 = _$createElement("text"), _el$41 = _$createTextNode(` `), _el$42 = _$createTextNode(`%`);
244
+ _$insertNode(_el$35, _el$36);
245
+ _$insertNode(_el$35, _el$38);
246
+ _$insertNode(_el$35, _el$39);
247
+ _$insertNode(_el$35, _el$40);
248
+ _$setProp(_el$35, "flexDirection", "row");
249
+ _$insertNode(_el$36, _$createTextNode(` wk `));
250
+ _$insert(_el$38, () => barFill(s.weekly));
251
+ _$insert(_el$39, () => barEmpty(s.weekly));
252
+ _$insertNode(_el$40, _el$41);
253
+ _$insertNode(_el$40, _el$42);
254
+ _$insert(_el$40, () => s.weekly, _el$42);
255
+ _$effect((_p$) => {
256
+ var _v$7 = st("text"), _v$8 = st("textMuted");
257
+ _v$7 !== _p$.e && (_p$.e = _$setProp(_el$38, "style", _v$7, _p$.e));
258
+ _v$8 !== _p$.t && (_p$.t = _$setProp(_el$39, "style", _v$8, _p$.t));
259
+ return _p$;
260
+ }, {
261
+ e: void 0,
262
+ t: void 0
263
+ });
257
264
  return _el$35;
258
265
  })());
259
266
  nodes.push((() => {
260
- var _el$36 = _$createElement("text"), _el$37 = _$createTextNode(` `), _el$38 = _$createTextNode(`%`);
261
- _$insertNode(_el$36, _el$37);
262
- _$insertNode(_el$36, _el$38);
263
- _$insert(_el$36, () => s.weekly, _el$38);
264
- return _el$36;
265
- })());
266
- nodes.push((() => {
267
- var _el$39 = _$createElement("text");
268
- _$insertNode(_el$39, _$createTextNode(` mo `));
269
- return _el$39;
270
- })());
271
- nodes.push((() => {
272
- var _el$41 = _$createElement("text");
273
- _$insert(_el$41, () => barFill(s.monthly));
274
- _$effect((_$p) => _$setProp(_el$41, "style", st("text"), _$p));
275
- return _el$41;
276
- })());
277
- nodes.push((() => {
278
- var _el$42 = _$createElement("text");
279
- _$insert(_el$42, () => barEmpty(s.monthly));
280
- _$effect((_$p) => _$setProp(_el$42, "style", st("textMuted"), _$p));
281
- return _el$42;
282
- })());
283
- nodes.push((() => {
284
- var _el$43 = _$createElement("text"), _el$44 = _$createTextNode(` `), _el$45 = _$createTextNode(`%`);
267
+ var _el$43 = _$createElement("box"), _el$44 = _$createElement("text"), _el$46 = _$createElement("text"), _el$47 = _$createElement("text"), _el$48 = _$createElement("text"), _el$49 = _$createTextNode(` `), _el$50 = _$createTextNode(`%`);
285
268
  _$insertNode(_el$43, _el$44);
286
- _$insertNode(_el$43, _el$45);
287
- _$insert(_el$43, () => s.monthly, _el$45);
269
+ _$insertNode(_el$43, _el$46);
270
+ _$insertNode(_el$43, _el$47);
271
+ _$insertNode(_el$43, _el$48);
272
+ _$setProp(_el$43, "flexDirection", "row");
273
+ _$insertNode(_el$44, _$createTextNode(` mo `));
274
+ _$insert(_el$46, () => barFill(s.monthly));
275
+ _$insert(_el$47, () => barEmpty(s.monthly));
276
+ _$insertNode(_el$48, _el$49);
277
+ _$insertNode(_el$48, _el$50);
278
+ _$insert(_el$48, () => s.monthly, _el$50);
279
+ _$effect((_p$) => {
280
+ var _v$9 = st("text"), _v$0 = st("textMuted");
281
+ _v$9 !== _p$.e && (_p$.e = _$setProp(_el$46, "style", _v$9, _p$.e));
282
+ _v$0 !== _p$.t && (_p$.t = _$setProp(_el$47, "style", _v$0, _p$.t));
283
+ return _p$;
284
+ }, {
285
+ e: void 0,
286
+ t: void 0
287
+ });
288
288
  return _el$43;
289
289
  })());
290
290
  }
291
291
  } else {
292
292
  nodes.push((() => {
293
- var _el$46 = _$createElement("text");
294
- _$insertNode(_el$46, _$createTextNode(`usage-coach: ...`));
295
- return _el$46;
293
+ var _el$51 = _$createElement("text");
294
+ _$insertNode(_el$51, _$createTextNode(`usage-coach: ...`));
295
+ return _el$51;
296
296
  })());
297
297
  }
298
298
  if (h && h.active !== false && h.tasks.length > 0) {
299
299
  nodes.push((() => {
300
- var _el$48 = _$createElement("text");
301
- _$insertNode(_el$48, _$createTextNode(` `));
302
- return _el$48;
300
+ var _el$53 = _$createElement("text");
301
+ _$insertNode(_el$53, _$createTextNode(` `));
302
+ return _el$53;
303
303
  })());
304
304
  nodes.push((() => {
305
- var _el$50 = _$createElement("text"), _el$51 = _$createTextNode(`harness: `), _el$52 = _$createTextNode(` `), _el$53 = _$createTextNode(`/`);
306
- _$insertNode(_el$50, _el$51);
307
- _$insertNode(_el$50, _el$52);
308
- _$insertNode(_el$50, _el$53);
309
- _$insert(_el$50, () => h.name, _el$52);
310
- _$insert(_el$50, () => h.current, _el$53);
311
- _$insert(_el$50, () => h.total, null);
312
- _$effect((_$p) => _$setProp(_el$50, "style", st("textMuted"), _$p));
313
- return _el$50;
305
+ var _el$55 = _$createElement("text"), _el$56 = _$createTextNode(`harness: `), _el$57 = _$createTextNode(` `), _el$58 = _$createTextNode(`/`);
306
+ _$insertNode(_el$55, _el$56);
307
+ _$insertNode(_el$55, _el$57);
308
+ _$insertNode(_el$55, _el$58);
309
+ _$insert(_el$55, () => h.name, _el$57);
310
+ _$insert(_el$55, () => h.current, _el$58);
311
+ _$insert(_el$55, () => h.total, null);
312
+ _$effect((_$p) => _$setProp(_el$55, "style", st("textMuted"), _$p));
313
+ return _el$55;
314
314
  })());
315
315
  for (const t of h.tasks) {
316
316
  const sKey = statusKey[t.status] ?? "text";
@@ -318,52 +318,52 @@ function initializeTui(api, disposeRoot) {
318
318
  const rev = t.revisions > 0 && t.status === "revising" ? `(${t.revisions})` : "";
319
319
  const mdl = t.model ? ` ${t.model.split("/").pop() ?? t.model}` : "";
320
320
  nodes.push((() => {
321
- var _el$54 = _$createElement("text"), _el$55 = _$createTextNode(` \u25CF `), _el$56 = _$createTextNode(` `), _el$57 = _$createTextNode(` `);
322
- _$insertNode(_el$54, _el$55);
323
- _$insertNode(_el$54, _el$56);
324
- _$insertNode(_el$54, _el$57);
325
- _$insert(_el$54, () => t.id, _el$56);
326
- _$insert(_el$54, mdl, _el$56);
327
- _$insert(_el$54, lbl, _el$57);
328
- _$insert(_el$54, rev, _el$57);
329
- _$insert(_el$54, () => short(t.title, 12), null);
330
- _$effect((_$p) => _$setProp(_el$54, "style", st(sKey), _$p));
331
- return _el$54;
321
+ var _el$59 = _$createElement("text"), _el$60 = _$createTextNode(` \u25CF `), _el$61 = _$createTextNode(` `), _el$62 = _$createTextNode(` `);
322
+ _$insertNode(_el$59, _el$60);
323
+ _$insertNode(_el$59, _el$61);
324
+ _$insertNode(_el$59, _el$62);
325
+ _$insert(_el$59, () => t.id, _el$61);
326
+ _$insert(_el$59, mdl, _el$61);
327
+ _$insert(_el$59, lbl, _el$62);
328
+ _$insert(_el$59, rev, _el$62);
329
+ _$insert(_el$59, () => short(t.title, 12), null);
330
+ _$effect((_$p) => _$setProp(_el$59, "style", st(sKey), _$p));
331
+ return _el$59;
332
332
  })());
333
333
  const pv = t.model ? t.model.startsWith("zai") ? "zai" : (t.model.split("/")[0] ?? "").split("-")[0] : "";
334
334
  const q = pv && h.quotas?.[pv] ? h.quotas[pv] : null;
335
335
  const pct = q ? q.fiveHour : 0;
336
336
  nodes.push((() => {
337
- var _el$58 = _$createElement("text");
338
- _$insertNode(_el$58, _$createTextNode(` 5h `));
339
- return _el$58;
340
- })());
341
- nodes.push((() => {
342
- var _el$60 = _$createElement("text");
343
- _$insert(_el$60, () => barFill(pct));
344
- _$effect((_$p) => _$setProp(_el$60, "style", st("text"), _$p));
345
- return _el$60;
346
- })());
347
- nodes.push((() => {
348
- var _el$61 = _$createElement("text");
349
- _$insert(_el$61, () => barEmpty(pct));
350
- _$effect((_$p) => _$setProp(_el$61, "style", st("textMuted"), _$p));
351
- return _el$61;
352
- })());
353
- nodes.push((() => {
354
- var _el$62 = _$createElement("text"), _el$63 = _$createTextNode(` `), _el$64 = _$createTextNode(`%`);
355
- _$insertNode(_el$62, _el$63);
356
- _$insertNode(_el$62, _el$64);
357
- _$insert(_el$62, pct, _el$64);
358
- return _el$62;
337
+ var _el$63 = _$createElement("box"), _el$64 = _$createElement("text"), _el$66 = _$createElement("text"), _el$67 = _$createElement("text"), _el$68 = _$createElement("text"), _el$69 = _$createTextNode(` `), _el$70 = _$createTextNode(`%`);
338
+ _$insertNode(_el$63, _el$64);
339
+ _$insertNode(_el$63, _el$66);
340
+ _$insertNode(_el$63, _el$67);
341
+ _$insertNode(_el$63, _el$68);
342
+ _$setProp(_el$63, "flexDirection", "row");
343
+ _$insertNode(_el$64, _$createTextNode(` 5h `));
344
+ _$insert(_el$66, () => barFill(pct));
345
+ _$insert(_el$67, () => barEmpty(pct));
346
+ _$insertNode(_el$68, _el$69);
347
+ _$insertNode(_el$68, _el$70);
348
+ _$insert(_el$68, pct, _el$70);
349
+ _$effect((_p$) => {
350
+ var _v$1 = st("text"), _v$10 = st("textMuted");
351
+ _v$1 !== _p$.e && (_p$.e = _$setProp(_el$66, "style", _v$1, _p$.e));
352
+ _v$10 !== _p$.t && (_p$.t = _$setProp(_el$67, "style", _v$10, _p$.t));
353
+ return _p$;
354
+ }, {
355
+ e: void 0,
356
+ t: void 0
357
+ });
358
+ return _el$63;
359
359
  })());
360
360
  }
361
361
  }
362
362
  return (() => {
363
- var _el$65 = _$createElement("box");
364
- _$setProp(_el$65, "flexDirection", "column");
365
- _$insert(_el$65, nodes);
366
- return _el$65;
363
+ var _el$71 = _$createElement("box");
364
+ _$setProp(_el$71, "flexDirection", "column");
365
+ _$insert(_el$71, nodes);
366
+ return _el$71;
367
367
  })();
368
368
  };
369
369
  api.slots.register({
@@ -374,9 +374,9 @@ function initializeTui(api, disposeRoot) {
374
374
  return panel(ctx);
375
375
  } catch {
376
376
  return (() => {
377
- var _el$66 = _$createElement("text");
378
- _$insertNode(_el$66, _$createTextNode(`usage-coach`));
379
- return _el$66;
377
+ var _el$72 = _$createElement("text");
378
+ _$insertNode(_el$72, _$createTextNode(`usage-coach`));
379
+ return _el$72;
380
380
  })();
381
381
  }
382
382
  },
@@ -385,9 +385,9 @@ function initializeTui(api, disposeRoot) {
385
385
  return panel(ctx);
386
386
  } catch {
387
387
  return (() => {
388
- var _el$68 = _$createElement("text");
389
- _$insertNode(_el$68, _$createTextNode(`usage-coach`));
390
- return _el$68;
388
+ var _el$74 = _$createElement("text");
389
+ _$insertNode(_el$74, _$createTextNode(`usage-coach`));
390
+ return _el$74;
391
391
  })();
392
392
  }
393
393
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "opencode-usage-coach",
3
- "version": "0.1.4",
3
+ "version": "0.1.6",
4
4
  "description": "opencode closed-loop usage coach \u2014 quota SENSE -> coaching DECIDE -> loop ACT + TUI integration",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",