@bonginkan/maria-lite 6.2.4 → 6.3.0

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.
@@ -380,6 +380,7 @@ var init_helpers = __esm({
380
380
  "daily-insights": "lightbulb",
381
381
  "discord-setup": "bell",
382
382
  "billing-pl": "wallet",
383
+ "dev-adviser": "user-check",
383
384
  // CXO Agents
384
385
  ceo: "crown",
385
386
  coo: "target",
@@ -644,7 +645,7 @@ var init_state = __esm({
644
645
  label: "Development",
645
646
  emoji: "\u{1F6E0}\uFE0F",
646
647
  serverCategories: ["development"],
647
- commandIds: ["code", "develop", "auto-dev", "git", "gh", "doctor", "assert", "rollback", "deps"]
648
+ commandIds: ["code", "develop", "auto-dev", "git", "gh", "doctor", "assert", "rollback", "deps", "dev-adviser"]
648
649
  },
649
650
  {
650
651
  id: "integrations",
@@ -8235,6 +8236,7 @@ async function renderList(container) {
8235
8236
  return {
8236
8237
  events: (data.events || []).map((ev) => ({
8237
8238
  ...ev,
8239
+ isAllDay: ev.isAllDay ?? Boolean(ev.start && !ev.start.includes("T")),
8238
8240
  calendarId: calId,
8239
8241
  calendarColor: calInfo?.backgroundColor || "#4285f4",
8240
8242
  calendarName: calInfo?.summary || (calId === "primary" ? "My Calendar" : calId)
@@ -8318,8 +8320,9 @@ async function renderDetail(container) {
8318
8320
  const ev = data.event;
8319
8321
  calCurrentEvent = ev;
8320
8322
  const useLucide = state.iconStyle === "modern" || state.iconStyle === "minimal";
8323
+ const isAllDay = ev.isAllDay || Boolean(ev.start && !ev.start.includes("T"));
8321
8324
  let html = `<div class="gc-detail">`;
8322
- html += `<div class="gc-detail-title">${esc(ev.summary)}</div>`;
8325
+ html += `<div class="gc-detail-title">${esc(ev.summary)}${isAllDay ? `<span style="display:inline-block;font-size:.6em;padding:2px 8px;border-radius:var(--radius-sm);background:rgba(66,133,244,.12);color:var(--accent);margin-left:8px;vertical-align:middle;font-weight:600;">All day</span>` : ""}</div>`;
8323
8326
  html += detailRow("When", `${formatDateTime(ev.start)} \u2192 ${formatDateTime(ev.end)}`);
8324
8327
  if (ev.location) html += detailRow("Location", ev.location);
8325
8328
  if (ev.description) html += detailRow("Description", ev.description);
@@ -8404,8 +8407,9 @@ function renderCreate(container) {
8404
8407
  }
8405
8408
  let html = `<div class="gc-create">`;
8406
8409
  html += `<label>Title<input class="gc-f-title" type="text" placeholder="Meeting title" /></label>`;
8407
- html += `<label>Start<input class="gc-f-start" type="datetime-local" value="${prefill ? toLocal(prefill.start) : defaultStart}" /></label>`;
8408
- html += `<label>End<input class="gc-f-end" type="datetime-local" value="${prefill ? toLocal(prefill.end) : defaultEnd}" /></label>`;
8410
+ html += `<label style="display:flex;align-items:center;gap:6px;margin-bottom:8px;cursor:pointer;flex-direction:row;"><input class="gc-f-allday" type="checkbox" id="create-allday" /><span style="font-size:.82em;font-weight:600;">All day</span></label>`;
8411
+ html += `<label>Start<input class="gc-f-start" id="create-start" type="datetime-local" value="${prefill ? toLocal(prefill.start) : defaultStart}" /></label>`;
8412
+ html += `<label>End<input class="gc-f-end" id="create-end" type="datetime-local" value="${prefill ? toLocal(prefill.end) : defaultEnd}" /></label>`;
8409
8413
  html += `<label>Location (optional)<input class="gc-f-location" type="text" placeholder="Room or address" /></label>`;
8410
8414
  html += `<label>Description (optional)<textarea class="gc-f-desc" placeholder="Notes..."></textarea></label>`;
8411
8415
  html += `<label>Attendees${prefill ? "" : " (optional)"}<input class="gc-f-attendees" type="text" value="${prefill ? esc(prefill.attendees) : ""}" placeholder="email1@example.com, email2@example.com" /></label>`;
@@ -8414,6 +8418,29 @@ function renderCreate(container) {
8414
8418
  html += `<div class="gc-create-status"></div>`;
8415
8419
  html += `</div>`;
8416
8420
  container.innerHTML = html;
8421
+ const allDayCheck = container.querySelector("#create-allday");
8422
+ if (allDayCheck) {
8423
+ allDayCheck.addEventListener("change", () => {
8424
+ const startInput = container.querySelector("#create-start");
8425
+ const endInput = container.querySelector("#create-end");
8426
+ if (!startInput || !endInput) return;
8427
+ if (allDayCheck.checked) {
8428
+ const startDate = startInput.value.split("T")[0] || "";
8429
+ const endDate = endInput.value.split("T")[0] || "";
8430
+ startInput.type = "date";
8431
+ endInput.type = "date";
8432
+ startInput.value = startDate;
8433
+ endInput.value = endDate;
8434
+ } else {
8435
+ const startDate = startInput.value || "";
8436
+ const endDate = endInput.value || "";
8437
+ startInput.type = "datetime-local";
8438
+ endInput.type = "datetime-local";
8439
+ startInput.value = startDate ? `${startDate}T09:00` : "";
8440
+ endInput.value = endDate ? `${endDate}T10:00` : "";
8441
+ }
8442
+ });
8443
+ }
8417
8444
  container.querySelector(".gc-create-btn").addEventListener("click", () => void handleCreate2(container));
8418
8445
  }
8419
8446
  async function handleCreate2(container) {
@@ -8424,6 +8451,8 @@ async function handleCreate2(container) {
8424
8451
  const desc = container.querySelector(".gc-f-desc").value.trim();
8425
8452
  const attendees = container.querySelector(".gc-f-attendees").value.trim();
8426
8453
  const addMeet = container.querySelector(".gc-f-meet").checked;
8454
+ const allDayCheck = container.querySelector(".gc-f-allday");
8455
+ const isAllDay = allDayCheck?.checked || false;
8427
8456
  const statusEl = container.querySelector(".gc-create-status");
8428
8457
  const btn = container.querySelector(".gc-create-btn");
8429
8458
  if (!title) {
@@ -8438,8 +8467,15 @@ async function handleCreate2(container) {
8438
8467
  statusEl.innerHTML = `<span class="gc-status-err">End time is required</span>`;
8439
8468
  return;
8440
8469
  }
8441
- const start = new Date(startRaw).toISOString();
8442
- const end = new Date(endRaw).toISOString();
8470
+ let start;
8471
+ let end;
8472
+ if (isAllDay) {
8473
+ start = startRaw;
8474
+ end = endRaw;
8475
+ } else {
8476
+ start = new Date(startRaw).toISOString();
8477
+ end = new Date(endRaw).toISOString();
8478
+ }
8443
8479
  btn.disabled = true;
8444
8480
  btn.textContent = "Creating...";
8445
8481
  statusEl.textContent = "";
@@ -8451,6 +8487,7 @@ async function handleCreate2(container) {
8451
8487
  title,
8452
8488
  start,
8453
8489
  end,
8490
+ isAllDay,
8454
8491
  description: desc || void 0,
8455
8492
  attendees: attendees || void 0,
8456
8493
  location: location || void 0,
@@ -8482,20 +8519,27 @@ function renderEdit(container) {
8482
8519
  renderApp2();
8483
8520
  return;
8484
8521
  }
8522
+ const eventIsAllDay = ev.isAllDay || Boolean(ev.start && !ev.start.includes("T"));
8485
8523
  const toLocal = (iso) => {
8486
- if (!iso || !iso.includes("T")) return "";
8524
+ if (!iso) return { value: "", isAllDay: false };
8525
+ if (!iso.includes("T")) return { value: iso, isAllDay: true };
8487
8526
  try {
8488
8527
  const d = new Date(iso);
8489
8528
  const pad = (n) => String(n).padStart(2, "0");
8490
- return `${d.getFullYear()}-${pad(d.getMonth() + 1)}-${pad(d.getDate())}T${pad(d.getHours())}:${pad(d.getMinutes())}`;
8529
+ const formatted = `${d.getFullYear()}-${pad(d.getMonth() + 1)}-${pad(d.getDate())}T${pad(d.getHours())}:${pad(d.getMinutes())}`;
8530
+ return { value: formatted, isAllDay: false };
8491
8531
  } catch {
8492
- return "";
8532
+ return { value: "", isAllDay: false };
8493
8533
  }
8494
8534
  };
8535
+ const startParsed = toLocal(ev.start);
8536
+ const endParsed = toLocal(ev.end);
8537
+ const inputType = eventIsAllDay ? "date" : "datetime-local";
8495
8538
  let html = `<div class="gc-create">`;
8496
8539
  html += `<label>Title<input class="gc-f-title" type="text" value="${esc(ev.summary)}" /></label>`;
8497
- html += `<label>Start<input class="gc-f-start" type="datetime-local" value="${toLocal(ev.start)}" /></label>`;
8498
- html += `<label>End<input class="gc-f-end" type="datetime-local" value="${toLocal(ev.end)}" /></label>`;
8540
+ html += `<label style="display:flex;align-items:center;gap:6px;margin-bottom:8px;cursor:pointer;flex-direction:row;"><input class="gc-f-allday" type="checkbox" id="edit-allday"${eventIsAllDay ? " checked" : ""} /><span style="font-size:.82em;font-weight:600;">All day</span></label>`;
8541
+ html += `<label>Start<input class="gc-f-start" id="edit-start" type="${inputType}" value="${esc(startParsed.value)}" /></label>`;
8542
+ html += `<label>End<input class="gc-f-end" id="edit-end" type="${inputType}" value="${esc(endParsed.value)}" /></label>`;
8499
8543
  html += `<label>Location<input class="gc-f-location" type="text" value="${esc(ev.location)}" placeholder="Room or address" /></label>`;
8500
8544
  html += `<label>Description<textarea class="gc-f-desc">${esc(ev.description)}</textarea></label>`;
8501
8545
  html += `<label>Attendees<input class="gc-f-attendees" type="text" value="${esc(ev.attendees.join(", "))}" placeholder="email1@example.com, email2@example.com" /></label>`;
@@ -8503,6 +8547,29 @@ function renderEdit(container) {
8503
8547
  html += `<div class="gc-create-status"></div>`;
8504
8548
  html += `</div>`;
8505
8549
  container.innerHTML = html;
8550
+ const allDayCheck = container.querySelector("#edit-allday");
8551
+ if (allDayCheck) {
8552
+ allDayCheck.addEventListener("change", () => {
8553
+ const startInput = container.querySelector("#edit-start");
8554
+ const endInput = container.querySelector("#edit-end");
8555
+ if (!startInput || !endInput) return;
8556
+ if (allDayCheck.checked) {
8557
+ const startDate = startInput.value.split("T")[0] || "";
8558
+ const endDate = endInput.value.split("T")[0] || "";
8559
+ startInput.type = "date";
8560
+ endInput.type = "date";
8561
+ startInput.value = startDate;
8562
+ endInput.value = endDate;
8563
+ } else {
8564
+ const startDate = startInput.value || "";
8565
+ const endDate = endInput.value || "";
8566
+ startInput.type = "datetime-local";
8567
+ endInput.type = "datetime-local";
8568
+ startInput.value = startDate ? `${startDate}T09:00` : "";
8569
+ endInput.value = endDate ? `${endDate}T10:00` : "";
8570
+ }
8571
+ });
8572
+ }
8506
8573
  container.querySelector(".gc-create-btn").addEventListener("click", () => void handleEdit(container, ev));
8507
8574
  }
8508
8575
  async function handleEdit(container, ev) {
@@ -8512,6 +8579,8 @@ async function handleEdit(container, ev) {
8512
8579
  const location = container.querySelector(".gc-f-location").value.trim();
8513
8580
  const desc = container.querySelector(".gc-f-desc").value.trim();
8514
8581
  const attendees = container.querySelector(".gc-f-attendees").value.trim();
8582
+ const allDayCheck = container.querySelector(".gc-f-allday");
8583
+ const isAllDay = allDayCheck?.checked || false;
8515
8584
  const statusEl = container.querySelector(".gc-create-status");
8516
8585
  const btn = container.querySelector(".gc-create-btn");
8517
8586
  if (!title) {
@@ -8526,8 +8595,15 @@ async function handleEdit(container, ev) {
8526
8595
  statusEl.innerHTML = `<span class="gc-status-err">End time is required</span>`;
8527
8596
  return;
8528
8597
  }
8529
- const start = new Date(startRaw).toISOString();
8530
- const end = new Date(endRaw).toISOString();
8598
+ let start;
8599
+ let end;
8600
+ if (isAllDay) {
8601
+ start = startRaw;
8602
+ end = endRaw;
8603
+ } else {
8604
+ start = new Date(startRaw).toISOString();
8605
+ end = new Date(endRaw).toISOString();
8606
+ }
8531
8607
  btn.disabled = true;
8532
8608
  btn.textContent = "Saving...";
8533
8609
  statusEl.textContent = "";
@@ -8535,7 +8611,7 @@ async function handleEdit(container, ev) {
8535
8611
  const res = await apiJson(`/api/google/calendar/events/${encodeURIComponent(ev.id)}`, {
8536
8612
  method: "PUT",
8537
8613
  headers: { "Content-Type": "application/json" },
8538
- body: JSON.stringify({ title, start, end, description: desc, attendees, location, calendarId: calCurrentCalendarId || "primary" })
8614
+ body: JSON.stringify({ title, start, end, isAllDay, description: desc, attendees, location, calendarId: calCurrentCalendarId || "primary" })
8539
8615
  });
8540
8616
  if (res.ok || res.updated) {
8541
8617
  statusEl.innerHTML = `<span class="gc-status-ok">Event updated!</span>`;
@@ -8860,9 +8936,10 @@ var init_google_calendar = __esm({
8860
8936
  .gc-create{padding:16px;display:flex;flex-direction:column;gap:10px}
8861
8937
  .gc-create label{font-size:.82em;font-weight:600;display:flex;flex-direction:column;gap:4px}
8862
8938
  .gc-create input,.gc-create textarea,.gc-create select{padding:8px 10px;border:1px solid var(--input-border);border-radius:var(--radius-sm);font-size:.88em;background:var(--input-bg);color:var(--fg);font-family:var(--sans)}
8863
- .gc-create input[type="datetime-local"]{color:var(--fg);font-family:inherit}
8939
+ .gc-create input[type="datetime-local"],.gc-create input[type="date"]{color:var(--fg);font-family:inherit}
8864
8940
  .gc-create input[type="datetime-local"]::-webkit-datetime-edit,.gc-create input[type="datetime-local"]::-webkit-datetime-edit-fields-wrapper,.gc-create input[type="datetime-local"]::-webkit-datetime-edit-text,.gc-create input[type="datetime-local"]::-webkit-datetime-edit-month-field,.gc-create input[type="datetime-local"]::-webkit-datetime-edit-day-field,.gc-create input[type="datetime-local"]::-webkit-datetime-edit-year-field,.gc-create input[type="datetime-local"]::-webkit-datetime-edit-hour-field,.gc-create input[type="datetime-local"]::-webkit-datetime-edit-minute-field,.gc-create input[type="datetime-local"]::-webkit-datetime-edit-ampm-field{color:inherit;font-family:inherit}
8865
- .gc-create input[type="datetime-local"]::-webkit-calendar-picker-indicator{filter:var(--calendar-picker-filter,none)}
8941
+ .gc-create input[type="date"]::-webkit-datetime-edit,.gc-create input[type="date"]::-webkit-datetime-edit-fields-wrapper,.gc-create input[type="date"]::-webkit-datetime-edit-text,.gc-create input[type="date"]::-webkit-datetime-edit-month-field,.gc-create input[type="date"]::-webkit-datetime-edit-day-field,.gc-create input[type="date"]::-webkit-datetime-edit-year-field{color:inherit;font-family:inherit}
8942
+ .gc-create input[type="datetime-local"]::-webkit-calendar-picker-indicator,.gc-create input[type="date"]::-webkit-calendar-picker-indicator{filter:var(--calendar-picker-filter,none)}
8866
8943
  .gc-create textarea{min-height:80px;resize:vertical}
8867
8944
  .gc-create-btn{padding:10px 24px;border:none;color:#fff;background:linear-gradient(135deg,#4285f4,#34a853);border-radius:var(--radius);cursor:pointer;font-weight:700;font-size:.92em;align-self:flex-start}
8868
8945
  .gc-create-btn:disabled{opacity:.5;cursor:not-allowed}
package/dist/ext.cjs CHANGED
@@ -98004,7 +98004,7 @@ function resolvePackageJsonNearEntrypoint() {
98004
98004
  }
98005
98005
  function resolveMariaLiteVersionInfo() {
98006
98006
  const fallbackName = EXPECTED_PKG_NAME;
98007
- const fallbackVersion = String(process.env.MARIA_LITE_VERSION || "").trim() || "6.2.4";
98007
+ const fallbackVersion = String(process.env.MARIA_LITE_VERSION || "").trim() || "6.3.0";
98008
98008
  const near = resolvePackageJsonNearEntrypoint();
98009
98009
  if (near) {
98010
98010
  const name = fallbackName;
package/dist/ext.d.cts CHANGED
@@ -1,4 +1,4 @@
1
- type LiteBuiltInCommandId = "login" | "logout" | "account" | "help" | "version" | "vup" | "connect" | "api-secret" | "bulk-register" | "recompile-api" | "skills" | "plugins" | "gen-skills" | "git" | "gh" | "research" | "kp-sync" | "kp-generate" | "kp-update" | "kp-synthesis" | "origin-fetch" | "deps" | "pdf" | "docs" | "stop" | "restart" | "chat" | "code" | "develop" | "auto-dev" | "doctor" | "evolve" | "universe" | "blog" | "image" | "video" | "music" | "manga" | "slides" | "proposal" | "novel" | "ceo" | "coo" | "cpo" | "cto" | "caio" | "cxo" | "ceo-clone" | "cto-clone" | "caio-clone" | "coo-clone" | "cpo-clone" | "desktop" | "spreadsheet" | "task-manager" | "calculator" | "twin" | "phone-tenant" | "phone-dept" | "phone-prompt" | "phone-dict" | "phone-hp-import" | "phone-deploy" | "phone-init" | "daily-report" | "daily-news" | "daily-papers" | "daily-insights" | "discord-setup" | "billing-pl";
1
+ type LiteBuiltInCommandId = "login" | "logout" | "account" | "help" | "version" | "vup" | "connect" | "api-secret" | "bulk-register" | "recompile-api" | "skills" | "plugins" | "gen-skills" | "git" | "gh" | "research" | "kp-sync" | "kp-generate" | "kp-update" | "kp-synthesis" | "origin-fetch" | "deps" | "pdf" | "docs" | "stop" | "restart" | "chat" | "code" | "develop" | "auto-dev" | "doctor" | "evolve" | "universe" | "blog" | "image" | "video" | "music" | "manga" | "slides" | "proposal" | "novel" | "ceo" | "coo" | "cpo" | "cto" | "caio" | "cxo" | "ceo-clone" | "cto-clone" | "caio-clone" | "coo-clone" | "cpo-clone" | "desktop" | "spreadsheet" | "task-manager" | "calculator" | "twin" | "phone-tenant" | "phone-dept" | "phone-prompt" | "phone-dict" | "phone-hp-import" | "phone-deploy" | "phone-init" | "daily-report" | "daily-news" | "daily-papers" | "daily-insights" | "discord-setup" | "billing-pl" | "dev-adviser";
2
2
  type LiteCommandId = LiteBuiltInCommandId | (string & {});
3
3
  type LiteStepOutcome = "PASS" | "WARN" | "STOP";
4
4
  type LiteStepResult = {
@@ -1 +1 @@
1
- {"buildTimestamp":"2026-03-02T07:56:20.617Z","fileCount":952,"indexJsonlRelPath":"src-lite/origin/index.jsonl","schemaVersion":"maria_lite_origin_index_meta_v1","sourceDir":"src-lite/origin","textExtractedCount":952}
1
+ {"buildTimestamp":"2026-03-03T11:59:37.342Z","fileCount":952,"indexJsonlRelPath":"src-lite/origin/index.jsonl","schemaVersion":"maria_lite_origin_index_meta_v1","sourceDir":"src-lite/origin","textExtractedCount":952}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bonginkan/maria-lite",
3
- "version": "6.2.4",
3
+ "version": "6.3.0",
4
4
  "description": "MARIA-LITE: lightweight MARIA OS CLI (src-lite).",
5
5
  "license": "SEE LICENSE IN LICENSE",
6
6
  "author": "Bonginkan Inc.",