@grindxp/cli 0.1.8 → 0.1.9

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.
@@ -1,5 +1,5 @@
1
- import { c as createServerRpc, l as listQuestsByUser, a as listSkillsByUser, b as listConversations, g as getCompanionByUserId, d as getPromptHistory, e as appendPromptHistory } from "./sessions-DOkG47Ex.js";
2
- import { g as getVaultContext, a as getUserById } from "./vault.server-Ndu49yTf.js";
1
+ import { c as createServerRpc, l as listQuestsByUser, a as listSkillsByUser, b as listConversations, g as getCompanionByUserId, d as getPromptHistory, e as appendPromptHistory } from "./sessions-UCWtijHE.js";
2
+ import { g as getVaultContext, a as getUserById } from "./vault.server-CscY5Z8e.js";
3
3
  import { c as createServerFn, a as getCookie } from "../server.js";
4
4
  import "node:fs";
5
5
  import "node:os";
@@ -1,12 +1,12 @@
1
- import { w as withoutTrailingSlash, l as loadOptionalSetting, I as InvalidArgumentError, g as generateId, p as parseProviderOptions, c as createToolNameMapping, a as combineHeaders, r as resolve, b as postJsonToApi, A as APICallError, d as loadApiKey, e as withUserAgentSuffix, f as createJsonResponseHandler, h as createEventSourceResponseHandler, v as validateTypes, i as isNonNullable, j as convertToBase64, U as UnsupportedFunctionalityError, o as object, k as array, m as discriminatedUnion, s as string, n as boolean, q as number, t as literal, u as union, _ as _enum, x as createJsonErrorResponseHandler, y as lazySchema, z as zodSchema, N as NoSuchModelError, B as looseObject, C as unknown, D as record, E as createProviderToolFactory, F as createProviderToolFactoryWithOutputSchema, G as tuple } from "./agent.functions-zpMkBrG3.js";
2
- import "./sessions-DOkG47Ex.js";
1
+ import { w as withoutTrailingSlash, l as loadOptionalSetting, I as InvalidArgumentError, g as generateId, p as parseProviderOptions, c as createToolNameMapping, a as combineHeaders, r as resolve, b as postJsonToApi, A as APICallError, d as loadApiKey, e as withUserAgentSuffix, f as createJsonResponseHandler, h as createEventSourceResponseHandler, v as validateTypes, i as isNonNullable, j as convertToBase64, U as UnsupportedFunctionalityError, o as object, k as array, m as discriminatedUnion, s as string, n as boolean, q as number, t as literal, u as union, _ as _enum, x as createJsonErrorResponseHandler, y as lazySchema, z as zodSchema, N as NoSuchModelError, B as looseObject, C as unknown, D as record, E as createProviderToolFactory, F as createProviderToolFactoryWithOutputSchema, G as tuple } from "./agent.functions-BL3upUNr.js";
2
+ import "./sessions-UCWtijHE.js";
3
3
  import "../server.js";
4
4
  import "node:async_hooks";
5
5
  import "node:stream";
6
6
  import "react/jsx-runtime";
7
7
  import "@tanstack/react-router/ssr/server";
8
8
  import "@tanstack/react-router";
9
- import "./vault.server-Ndu49yTf.js";
9
+ import "./vault.server-CscY5Z8e.js";
10
10
  import "node:fs";
11
11
  import "node:os";
12
12
  import "node:path";
@@ -1,12 +1,12 @@
1
- import { w as withoutTrailingSlash, g as generateId, p as parseProviderOptions, a as combineHeaders, r as resolve, b as postJsonToApi, e as withUserAgentSuffix, d as loadApiKey, U as UnsupportedFunctionalityError, j as convertToBase64, f as createJsonResponseHandler, h as createEventSourceResponseHandler, y as lazySchema, x as createJsonErrorResponseHandler, z as zodSchema, o as object, q as number, _ as _enum, D as record, s as string, n as boolean, k as array, F as createProviderToolFactoryWithOutputSchema, E as createProviderToolFactory, u as union, C as unknown, T as TooManyEmbeddingValuesForCallError, Y as convertUint8ArrayToBase64, $ as AISDKError, a0 as delay, a1 as getFromApi } from "./agent.functions-zpMkBrG3.js";
2
- import "./sessions-DOkG47Ex.js";
1
+ import { w as withoutTrailingSlash, g as generateId, p as parseProviderOptions, a as combineHeaders, r as resolve, b as postJsonToApi, e as withUserAgentSuffix, d as loadApiKey, U as UnsupportedFunctionalityError, j as convertToBase64, f as createJsonResponseHandler, h as createEventSourceResponseHandler, y as lazySchema, x as createJsonErrorResponseHandler, z as zodSchema, o as object, q as number, _ as _enum, D as record, s as string, n as boolean, k as array, F as createProviderToolFactoryWithOutputSchema, E as createProviderToolFactory, u as union, C as unknown, T as TooManyEmbeddingValuesForCallError, Y as convertUint8ArrayToBase64, $ as AISDKError, a0 as delay, a1 as getFromApi } from "./agent.functions-BL3upUNr.js";
2
+ import "./sessions-UCWtijHE.js";
3
3
  import "../server.js";
4
4
  import "node:async_hooks";
5
5
  import "node:stream";
6
6
  import "react/jsx-runtime";
7
7
  import "@tanstack/react-router/ssr/server";
8
8
  import "@tanstack/react-router";
9
- import "./vault.server-Ndu49yTf.js";
9
+ import "./vault.server-CscY5Z8e.js";
10
10
  import "node:fs";
11
11
  import "node:os";
12
12
  import "node:path";
@@ -1,12 +1,12 @@
1
- import { H as _coercedNumber, Z as ZodNumber, w as withoutTrailingSlash, l as loadOptionalSetting, p as parseProviderOptions, c as createToolNameMapping, b as postJsonToApi, a as combineHeaders, A as APICallError, g as generateId, e as withUserAgentSuffix, d as loadApiKey, f as createJsonResponseHandler, h as createEventSourceResponseHandler, v as validateTypes, i as isNonNullable, j as convertToBase64, U as UnsupportedFunctionalityError, y as lazySchema, x as createJsonErrorResponseHandler, o as object, s as string, u as union, q as number$1, J as any, z as zodSchema, m as discriminatedUnion, t as literal, _ as _enum, k as array, n as boolean, K as lazy, F as createProviderToolFactoryWithOutputSchema, D as record, C as unknown, L as InvalidResponseDataError, M as isParsableJson, T as TooManyEmbeddingValuesForCallError, O as postFormDataToApi, P as convertToFormData, Q as convertBase64ToUint8Array, R as downloadBlob, S as mediaTypeToExtension, V as createBinaryResponseHandler, W as InvalidPromptError, X as _null } from "./agent.functions-zpMkBrG3.js";
2
- import "./sessions-DOkG47Ex.js";
1
+ import { H as _coercedNumber, Z as ZodNumber, w as withoutTrailingSlash, l as loadOptionalSetting, p as parseProviderOptions, c as createToolNameMapping, b as postJsonToApi, a as combineHeaders, A as APICallError, g as generateId, e as withUserAgentSuffix, d as loadApiKey, f as createJsonResponseHandler, h as createEventSourceResponseHandler, v as validateTypes, i as isNonNullable, j as convertToBase64, U as UnsupportedFunctionalityError, y as lazySchema, x as createJsonErrorResponseHandler, o as object, s as string, u as union, q as number$1, J as any, z as zodSchema, m as discriminatedUnion, t as literal, _ as _enum, k as array, n as boolean, K as lazy, F as createProviderToolFactoryWithOutputSchema, D as record, C as unknown, L as InvalidResponseDataError, M as isParsableJson, T as TooManyEmbeddingValuesForCallError, O as postFormDataToApi, P as convertToFormData, Q as convertBase64ToUint8Array, R as downloadBlob, S as mediaTypeToExtension, V as createBinaryResponseHandler, W as InvalidPromptError, X as _null } from "./agent.functions-BL3upUNr.js";
2
+ import "./sessions-UCWtijHE.js";
3
3
  import "../server.js";
4
4
  import "node:async_hooks";
5
5
  import "node:stream";
6
6
  import "react/jsx-runtime";
7
7
  import "@tanstack/react-router/ssr/server";
8
8
  import "@tanstack/react-router";
9
- import "./vault.server-Ndu49yTf.js";
9
+ import "./vault.server-CscY5Z8e.js";
10
10
  import "node:fs";
11
11
  import "node:os";
12
12
  import "node:path";
@@ -1,7 +1,7 @@
1
1
  import { jsxs, jsx } from "react/jsx-runtime";
2
2
  import { useState, useCallback } from "react";
3
3
  import { LightningIcon, CopyIcon, CheckIcon } from "@phosphor-icons/react";
4
- import { c as cn } from "./router-1koL9I3U.js";
4
+ import { c as cn } from "./router-CXyGzWDS.js";
5
5
  import "@tanstack/react-router";
6
6
  import "@tanstack/react-query";
7
7
  import "clsx";
@@ -10,7 +10,7 @@ import "../server.js";
10
10
  import "node:async_hooks";
11
11
  import "node:stream";
12
12
  import "@tanstack/react-router/ssr/server";
13
- import "./vault.server-Ndu49yTf.js";
13
+ import "./vault.server-CscY5Z8e.js";
14
14
  import "node:fs";
15
15
  import "node:os";
16
16
  import "node:path";
@@ -1,5 +1,5 @@
1
1
  import { jsxs, jsx, Fragment } from "react/jsx-runtime";
2
- import { a as createSsrRpc, c as cn, b as Route, l as loadConversationMessages, g as getConversations, d as appendPromptHistoryEntry, C as ChatMessagesSkeleton } from "./router-1koL9I3U.js";
2
+ import { a as createSsrRpc, c as cn, b as Route, l as loadConversationMessages, g as getConversations, d as appendPromptHistoryEntry, C as ChatMessagesSkeleton } from "./router-CXyGzWDS.js";
3
3
  import { useNavigate } from "@tanstack/react-router";
4
4
  import { useState, useRef, useId, useEffect, useCallback, useEffectEvent } from "react";
5
5
  import { c as createServerFn } from "../server.js";
@@ -11,7 +11,7 @@ import { createPortal } from "react-dom";
11
11
  import "@tanstack/react-query";
12
12
  import "clsx";
13
13
  import "tailwind-merge";
14
- import "./vault.server-Ndu49yTf.js";
14
+ import "./vault.server-CscY5Z8e.js";
15
15
  import "node:fs";
16
16
  import "node:os";
17
17
  import "node:path";
@@ -1,7 +1,7 @@
1
1
  import { jsxs, jsx, Fragment } from "react/jsx-runtime";
2
2
  import { Link } from "@tanstack/react-router";
3
3
  import { StarIcon, LightningIcon, FlameIcon, TrophyIcon, SwordIcon } from "@phosphor-icons/react";
4
- import { c as cn, R as Route } from "./router-1koL9I3U.js";
4
+ import { c as cn, R as Route } from "./router-CXyGzWDS.js";
5
5
  import "@tanstack/react-query";
6
6
  import "react";
7
7
  import "clsx";
@@ -10,7 +10,7 @@ import "../server.js";
10
10
  import "node:async_hooks";
11
11
  import "node:stream";
12
12
  import "@tanstack/react-router/ssr/server";
13
- import "./vault.server-Ndu49yTf.js";
13
+ import "./vault.server-CscY5Z8e.js";
14
14
  import "node:fs";
15
15
  import "node:os";
16
16
  import "node:path";
@@ -1,7 +1,7 @@
1
1
  import { jsxs, jsx } from "react/jsx-runtime";
2
2
  import { useState, useCallback } from "react";
3
3
  import { LightningIcon, CopyIcon, CheckIcon } from "@phosphor-icons/react";
4
- import { c as cn } from "./router-1koL9I3U.js";
4
+ import { c as cn } from "./router-CXyGzWDS.js";
5
5
  import "@tanstack/react-router";
6
6
  import "@tanstack/react-query";
7
7
  import "clsx";
@@ -10,7 +10,7 @@ import "../server.js";
10
10
  import "node:async_hooks";
11
11
  import "node:stream";
12
12
  import "@tanstack/react-router/ssr/server";
13
- import "./vault.server-Ndu49yTf.js";
13
+ import "./vault.server-CscY5Z8e.js";
14
14
  import "node:fs";
15
15
  import "node:os";
16
16
  import "node:path";
@@ -6,7 +6,7 @@ import { HouseIcon, ChatCircleIcon, ScrollIcon, TreeStructureIcon, SparkleIcon,
6
6
  import { clsx } from "clsx";
7
7
  import { twMerge } from "tailwind-merge";
8
8
  import { T as TSS_SERVER_FUNCTION, g as getServerFnById, c as createServerFn } from "../server.js";
9
- import { g as getVaultContext, a as getUserById } from "./vault.server-Ndu49yTf.js";
9
+ import { g as getVaultContext, a as getUserById } from "./vault.server-CscY5Z8e.js";
10
10
  let context;
11
11
  function getContext() {
12
12
  if (context) {
@@ -357,8 +357,8 @@ const Route$9 = createFileRoute("/")({
357
357
  throw redirect({ to: "/app" });
358
358
  }
359
359
  });
360
- const $$splitErrorComponentImporter$1 = () => import("./index-D7z4dRpK.js");
361
- const $$splitComponentImporter$7 = () => import("./index-D2fMUSdJ.js");
360
+ const $$splitErrorComponentImporter$1 = () => import("./index-CB8UtTN8.js");
361
+ const $$splitComponentImporter$7 = () => import("./index-DfU25rnD.js");
362
362
  const Route$8 = createFileRoute("/app/")({
363
363
  loader: () => getDashboardData(),
364
364
  component: lazyRouteComponent($$splitComponentImporter$7, "component"),
@@ -438,8 +438,8 @@ function ChatMessagesSkeleton() {
438
438
  /* @__PURE__ */ jsx("div", { className: "flex justify-end", children: /* @__PURE__ */ jsx("div", { className: "h-10 w-1/2 rounded-2xl rounded-tr-sm bg-muted animate-pulse" }) })
439
439
  ] });
440
440
  }
441
- const $$splitErrorComponentImporter = () => import("./index-b30aLTKp.js");
442
- const $$splitComponentImporter$1 = () => import("./index-CJ_-TSqN.js");
441
+ const $$splitErrorComponentImporter = () => import("./index-SHH7zSKt.js");
442
+ const $$splitComponentImporter$1 = () => import("./index-DTB2dYCz.js");
443
443
  function ChatPageSkeleton() {
444
444
  return /* @__PURE__ */ jsxs("div", { className: "flex h-full overflow-hidden", children: [
445
445
  /* @__PURE__ */ jsx("div", { className: "hidden md:flex", children: /* @__PURE__ */ jsxs("aside", { className: "flex w-52 shrink-0 flex-col border-r border-border bg-sidebar", children: [
@@ -1,5 +1,5 @@
1
1
  import { T as TSS_SERVER_FUNCTION } from "../server.js";
2
- import { e as eq, R as companionSettings, S as asc, T as companionInsights, s as sql, d as desc, b as and, M as skills, U as skillSchema, V as skillCategorySchema, W as skillLevelFromXp, X as inArray, L as quests, Y as questSchema, _ as completeQuestInputSchema, $ as calculateQuestXp, y as questDifficultySchema, P as questLogs, a0 as proofs, K as users, a1 as levelFromXp, a2 as createQuestInputSchema, a3 as conversations, a4 as promptHistory, a5 as messages } from "./vault.server-Ndu49yTf.js";
2
+ import { e as eq, S as companionSettings, T as asc, U as companionInsights, l as sql, d as desc, b as and, N as skills, V as skillSchema, W as skillCategorySchema, X as skillLevelFromXp, Y as inArray, M as quests, _ as questSchema, P as gte, Q as questLogs, $ as completeQuestInputSchema, a0 as calculateQuestXp, B as questDifficultySchema, a1 as proofs, L as users, a2 as levelFromXp, a3 as createQuestInputSchema, a4 as conversations, a5 as promptHistory, a6 as messages } from "./vault.server-CscY5Z8e.js";
3
3
  const createServerRpc = (serverFnMeta, splitImportFn) => {
4
4
  const url = "/_serverFn/" + serverFnMeta.id;
5
5
  return Object.assign(splitImportFn, {
@@ -56,6 +56,15 @@ async function findCompanionInsightByContent(db, userId, category, content) {
56
56
  });
57
57
  return row ?? null;
58
58
  }
59
+ async function updateCompanionMode(db, userId, mode) {
60
+ const [updated] = await db.update(companionSettings).set({ mode, updatedAt: Date.now() }).where(eq(companionSettings.userId, userId)).returning();
61
+ if (!updated) throw new Error("Companion not found. Run `grindxp init` first.");
62
+ return updated;
63
+ }
64
+ async function deleteCompanionInsight(db, insightId, userId) {
65
+ const row = await db.delete(companionInsights).where(and(eq(companionInsights.id, insightId), eq(companionInsights.userId, userId))).returning({ id: companionInsights.id });
66
+ return row.length > 0;
67
+ }
59
68
  function rowToSkill(row) {
60
69
  return skillSchema.parse({
61
70
  id: row.id,
@@ -291,6 +300,28 @@ async function completeQuest(db, input) {
291
300
  });
292
301
  return { xpEarned: xpResult.totalXp, skillGains };
293
302
  }
303
+ async function updateQuest(db, questId, userId, patch) {
304
+ const set = { updatedAt: Date.now() };
305
+ if (patch.title !== void 0) set.title = patch.title;
306
+ if (patch.description !== void 0) set.description = patch.description;
307
+ if (patch.type !== void 0) set.type = patch.type;
308
+ if (patch.difficulty !== void 0) set.difficulty = patch.difficulty;
309
+ if (patch.skillTags !== void 0) set.skillTags = patch.skillTags;
310
+ if (patch.baseXp !== void 0) set.baseXp = patch.baseXp;
311
+ if (patch.scheduleCron !== void 0) set.scheduleCron = patch.scheduleCron;
312
+ if (patch.deadlineAt !== void 0) set.deadlineAt = patch.deadlineAt;
313
+ const [row] = await db.update(quests).set(set).where(and(eq(quests.id, questId), eq(quests.userId, userId))).returning();
314
+ return row ? rowToQuest(row) : null;
315
+ }
316
+ async function listQuestLogs(db, userId, options = {}) {
317
+ const { limit = 20, since } = options;
318
+ const where = since ? and(eq(questLogs.userId, userId), gte(questLogs.completedAt, since)) : eq(questLogs.userId, userId);
319
+ return db.query.questLogs.findMany({
320
+ where,
321
+ orderBy: [desc(questLogs.completedAt)],
322
+ limit
323
+ });
324
+ }
294
325
  async function createConversation(db, userId, title) {
295
326
  const [row] = await db.insert(conversations).values({ userId, title: null }).returning();
296
327
  if (!row) throw new Error("Failed to create conversation");
@@ -387,17 +418,21 @@ export {
387
418
  getCompanionByUserId as g,
388
419
  completeQuest as h,
389
420
  getQuestById as i,
390
- updateCompanionUserContext as j,
391
- updateCompanionInsight as k,
421
+ updateCompanionMode as j,
422
+ listCompanionInsights as k,
392
423
  listQuestsByUser as l,
393
- findCompanionInsightByContent as m,
394
- createCompanionInsight as n,
395
- listCompanionInsights as o,
396
- findQuestByPrefix as p,
397
- getConversationById as q,
398
- createConversation as r,
399
- appendMessage as s,
400
- getConversationMessages as t,
424
+ deleteCompanionInsight as m,
425
+ findQuestByPrefix as n,
426
+ updateQuest as o,
427
+ listQuestLogs as p,
428
+ updateCompanionUserContext as q,
429
+ updateCompanionInsight as r,
430
+ findCompanionInsightByContent as s,
431
+ createCompanionInsight as t,
401
432
  updateQuestStatus as u,
402
- storedToModelMessages as v
433
+ getConversationById as v,
434
+ createConversation as w,
435
+ appendMessage as x,
436
+ getConversationMessages as y,
437
+ storedToModelMessages as z
403
438
  };
@@ -1,6 +1,6 @@
1
- import { a6 as getDefaultExportFromCjs } from "./vault.server-Ndu49yTf.js";
2
- import { a2 as requireTokenError } from "./agent.functions-zpMkBrG3.js";
3
- import { r as requireTokenUtil } from "./token-util-DA5xS0pj.js";
1
+ import { a7 as getDefaultExportFromCjs } from "./vault.server-CscY5Z8e.js";
2
+ import { a2 as requireTokenError } from "./agent.functions-BL3upUNr.js";
3
+ import { r as requireTokenUtil } from "./token-util-BopJPy-I.js";
4
4
  function _mergeNamespaces(n, m) {
5
5
  for (var i = 0; i < m.length; i++) {
6
6
  const e = m[i];
@@ -1,6 +1,6 @@
1
1
  import path__default from "path";
2
2
  import require$$1 from "fs";
3
- import { a2 as requireTokenError } from "./agent.functions-zpMkBrG3.js";
3
+ import { a2 as requireTokenError } from "./agent.functions-BL3upUNr.js";
4
4
  import os from "os";
5
5
  var tokenIo;
6
6
  var hasRequiredTokenIo;
@@ -1,5 +1,5 @@
1
- import { a6 as getDefaultExportFromCjs } from "./vault.server-Ndu49yTf.js";
2
- import { r as requireTokenUtil } from "./token-util-DA5xS0pj.js";
1
+ import { a7 as getDefaultExportFromCjs } from "./vault.server-CscY5Z8e.js";
2
+ import { r as requireTokenUtil } from "./token-util-BopJPy-I.js";
3
3
  function _mergeNamespaces(n, m) {
4
4
  for (var i = 0; i < m.length; i++) {
5
5
  const e = m[i];
@@ -19292,42 +19292,43 @@ function getGrindConfig() {
19292
19292
  return config;
19293
19293
  }
19294
19294
  export {
19295
- calculateQuestXp as $,
19295
+ completeQuestInputSchema as $,
19296
19296
  ACTIVITY_BASE_XP as A,
19297
- recordType as B,
19298
- unknownType as C,
19299
- readTimer as D,
19300
- getElapsedMinutes as E,
19301
- clearTimer as F,
19302
- writeTimer as G,
19303
- readGrindConfig as H,
19304
- signals as I,
19305
- writeGrindConfig as J,
19306
- users as K,
19307
- quests as L,
19308
- skills as M,
19309
- gte as N,
19297
+ questDifficultySchema as B,
19298
+ booleanType as C,
19299
+ recordType as D,
19300
+ unknownType as E,
19301
+ readTimer as F,
19302
+ getElapsedMinutes as G,
19303
+ clearTimer as H,
19304
+ writeTimer as I,
19305
+ readGrindConfig as J,
19306
+ writeGrindConfig as K,
19307
+ users as L,
19308
+ quests as M,
19309
+ skills as N,
19310
19310
  OAUTH_CONFIGS as O,
19311
- questLogs as P,
19312
- getGrindConfig as Q,
19313
- companionSettings as R,
19314
- asc as S,
19315
- companionInsights as T,
19316
- skillSchema as U,
19317
- skillCategorySchema as V,
19318
- skillLevelFromXp as W,
19319
- inArray as X,
19320
- questSchema as Y,
19311
+ gte as P,
19312
+ questLogs as Q,
19313
+ getGrindConfig as R,
19314
+ companionSettings as S,
19315
+ asc as T,
19316
+ companionInsights as U,
19317
+ skillSchema as V,
19318
+ skillCategorySchema as W,
19319
+ skillLevelFromXp as X,
19320
+ inArray as Y,
19321
19321
  ZodFirstPartyTypeKind as Z,
19322
- completeQuestInputSchema as _,
19322
+ questSchema as _,
19323
19323
  getUserById as a,
19324
- proofs as a0,
19325
- levelFromXp as a1,
19326
- createQuestInputSchema as a2,
19327
- conversations as a3,
19328
- promptHistory as a4,
19329
- messages as a5,
19330
- getDefaultExportFromCjs as a6,
19324
+ calculateQuestXp as a0,
19325
+ proofs as a1,
19326
+ levelFromXp as a2,
19327
+ createQuestInputSchema as a3,
19328
+ conversations as a4,
19329
+ promptHistory as a5,
19330
+ messages as a6,
19331
+ getDefaultExportFromCjs as a7,
19331
19332
  and as b,
19332
19333
  forgeRuleSchema as c,
19333
19334
  desc as d,
@@ -19336,21 +19337,21 @@ export {
19336
19337
  getVaultContext as g,
19337
19338
  createForgeRuleInputSchema as h,
19338
19339
  forgeRuns as i,
19339
- forgeRunSchema as j,
19340
- createForgeRunInputSchema as k,
19341
- stringType as l,
19342
- arrayType as m,
19340
+ signalSchema as j,
19341
+ forgeRunSchema as k,
19342
+ sql as l,
19343
+ createForgeRunInputSchema as m,
19343
19344
  numberType as n,
19344
19345
  objectType as o,
19345
- enumType as p,
19346
- getOAuthToken as q,
19347
- isTokenExpired as r,
19348
- sql as s,
19349
- refreshOAuthToken as t,
19346
+ stringType as p,
19347
+ arrayType as q,
19348
+ enumType as r,
19349
+ signals as s,
19350
+ getOAuthToken as t,
19350
19351
  unionType as u,
19351
- formatElapsed as v,
19352
- activityTypeSchema as w,
19352
+ isTokenExpired as v,
19353
+ refreshOAuthToken as w,
19353
19354
  xpForLevelThreshold as x,
19354
- questDifficultySchema as y,
19355
- booleanType as z
19355
+ formatElapsed as y,
19356
+ activityTypeSchema as z
19356
19357
  };
@@ -4031,28 +4031,28 @@ function createMultiplexedStream(jsonStream, rawStreams) {
4031
4031
  }
4032
4032
  const manifest = { "5ae2bb0c4c003d915f9054a906ac04c5e5445504bc009ebe1b0909b118638f63": {
4033
4033
  functionName: "getSidebarPref_createServerFn_handler",
4034
- importer: () => import("./assets/data.functions-9hSsMFx_.js")
4034
+ importer: () => import("./assets/data.functions-DZmdFOMQ.js")
4035
4035
  }, "cbb2f7cdf3f3a605c4dfa620eb06a3cf071dae878f19986d68e6ef770b13f7fa": {
4036
4036
  functionName: "getDashboardData_createServerFn_handler",
4037
- importer: () => import("./assets/data.functions-9hSsMFx_.js")
4037
+ importer: () => import("./assets/data.functions-DZmdFOMQ.js")
4038
4038
  }, "beec9fd37fa775f9a6fdc16dd643e042dbc9e24c2b45f88ddc7b529513bd4661": {
4039
4039
  functionName: "getConversations_createServerFn_handler",
4040
- importer: () => import("./assets/data.functions-9hSsMFx_.js")
4040
+ importer: () => import("./assets/data.functions-DZmdFOMQ.js")
4041
4041
  }, "ca03005c412458a0bc657c061b4f332f92b1ff4b8c19f40ffaf334bca75a0749": {
4042
4042
  functionName: "loadConversationMessages_createServerFn_handler",
4043
- importer: () => import("./assets/data.functions-9hSsMFx_.js")
4043
+ importer: () => import("./assets/data.functions-DZmdFOMQ.js")
4044
4044
  }, "184ce16af80e6368f2fae4eb2360630a351114a8cc3ee5800b1a08e02b9dd7e9": {
4045
4045
  functionName: "getCompanionInfo_createServerFn_handler",
4046
- importer: () => import("./assets/data.functions-9hSsMFx_.js")
4046
+ importer: () => import("./assets/data.functions-DZmdFOMQ.js")
4047
4047
  }, "9a5dc52f000f13d22209e6a0728000f0667bc09e1ac65adb09228596aa34819b": {
4048
4048
  functionName: "getPromptHistoryEntries_createServerFn_handler",
4049
- importer: () => import("./assets/data.functions-9hSsMFx_.js")
4049
+ importer: () => import("./assets/data.functions-DZmdFOMQ.js")
4050
4050
  }, "0106759db375e1456f62d4c1efe7094c3733545535507409fcecd70d465fd501": {
4051
4051
  functionName: "appendPromptHistoryEntry_createServerFn_handler",
4052
- importer: () => import("./assets/data.functions-9hSsMFx_.js")
4052
+ importer: () => import("./assets/data.functions-DZmdFOMQ.js")
4053
4053
  }, "6856120823d177dc2bccc2b8c490fcf0742fdb07eb32f1567908fb7b7e9d60b8": {
4054
4054
  functionName: "streamMessage_createServerFn_handler",
4055
- importer: () => import("./assets/agent.functions-zpMkBrG3.js").then((n2) => n2.a3)
4055
+ importer: () => import("./assets/agent.functions-BL3upUNr.js").then((n2) => n2.a3)
4056
4056
  } };
4057
4057
  async function getServerFnById(id) {
4058
4058
  const serverFnInfo = manifest[id];
@@ -4468,7 +4468,7 @@ let entriesPromise;
4468
4468
  let baseManifestPromise;
4469
4469
  let cachedFinalManifestPromise;
4470
4470
  async function loadEntries() {
4471
- const routerEntry = await import("./assets/router-1koL9I3U.js").then((n2) => n2.r);
4471
+ const routerEntry = await import("./assets/router-CXyGzWDS.js").then((n2) => n2.r);
4472
4472
  const startEntry = await import("./assets/start-HYkvq4Ni.js");
4473
4473
  return { startEntry, routerEntry };
4474
4474
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@grindxp/cli",
3
- "version": "0.1.8",
3
+ "version": "0.1.9",
4
4
  "description": "Grind — a gamified productivity CLI. Track quests, earn XP, build streaks.",
5
5
  "keywords": [
6
6
  "cli",