hocai-connect 0.18.1 → 0.18.2

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/cli.js +28 -4
  2. package/package.json +1 -1
package/dist/cli.js CHANGED
@@ -42302,6 +42302,27 @@ var ReorderPlatformSchema = external_exports.object({
42302
42302
  });
42303
42303
  var SetPlatformActiveSchema = external_exports.object({ active: external_exports.boolean() });
42304
42304
 
42305
+ // packages/types/project.ts
42306
+ var ProjectAgentSchema = external_exports.enum(["auto", "claude", "codex"]);
42307
+ var ProjectFolderRoleSchema = external_exports.enum(["SOURCE", "ASSIGNMENTS", "WORK"]);
42308
+ var ProjectBaseSchema = external_exports.object({
42309
+ name: external_exports.string().trim().min(1, "\u0110\u1EB7t t\xEAn cho d\u1EF1 \xE1n").max(120, "T\xEAn d\u1EF1 \xE1n qu\xE1 d\xE0i"),
42310
+ description: external_exports.string().trim().max(1e3, "M\xF4 t\u1EA3 t\u1ED1i \u0111a 1000 k\xFD t\u1EF1").optional(),
42311
+ defaultAgent: ProjectAgentSchema.default("auto")
42312
+ });
42313
+ var UpdateProjectSchema = ProjectBaseSchema.partial();
42314
+ var ProjectFilterSchema = external_exports.object({
42315
+ page: external_exports.coerce.number().int().min(1).default(1),
42316
+ perPage: external_exports.coerce.number().int().min(1).max(100).default(24),
42317
+ q: external_exports.string().trim().max(80).optional(),
42318
+ sort: external_exports.string().max(30).optional(),
42319
+ dir: external_exports.enum(["asc", "desc"]).optional()
42320
+ });
42321
+ var AttachProjectFolderSchema = external_exports.object({
42322
+ folderId: external_exports.string().min(1, "Ch\u1ECDn m\u1ED9t th\u01B0 m\u1EE5c"),
42323
+ role: ProjectFolderRoleSchema
42324
+ });
42325
+
42305
42326
  // packages/types/machine.ts
42306
42327
  var TerminalJobStatusSchema = external_exports.enum(["DONE", "FAILED", "CANCELLED"]);
42307
42328
  var JobLineSchema = external_exports.object({ seq: external_exports.number().int().positive().max(Number.MAX_SAFE_INTEGER), line: external_exports.string().max(1024 * 1024) });
@@ -42319,6 +42340,8 @@ function terminalJobStatus(line) {
42319
42340
  var CreateRemoteJobSchema = external_exports.object({
42320
42341
  /** MÃ thư mục đã đăng ký, KHÔNG phải đường dẫn — xem apps/mcp/src/folder.ts. */
42321
42342
  folderId: external_exports.string().min(1, "Ch\u1ECDn m\u1ED9t th\u01B0 m\u1EE5c"),
42343
+ projectId: external_exports.string().min(1).optional(),
42344
+ agent: ProjectAgentSchema.optional(),
42322
42345
  prompt: external_exports.string().min(1, "G\xF5 vi\u1EC7c b\u1EA1n mu\u1ED1n m\xE1y l\xE0m").max(4e3, "Y\xEAu c\u1EA7u qu\xE1 d\xE0i \u2014 r\xFAt g\u1ECDn c\xF2n d\u01B0\u1EDBi 4000 k\xFD t\u1EF1")
42323
42346
  });
42324
42347
  var AddFolderSchema = external_exports.object({
@@ -45788,7 +45811,7 @@ var TOOLS = {
45788
45811
  // không phải là lời mời đọc ổ đĩa của học viên.
45789
45812
  CHAT: []
45790
45813
  };
45791
- var VERSION = "0.18.1";
45814
+ var VERSION = "0.18.2";
45792
45815
  function claudeArgs(job, o, port) {
45793
45816
  const mcp = {
45794
45817
  mcpServers: {
@@ -45881,12 +45904,12 @@ function buildHttpServer(o) {
45881
45904
  dir: o.jobsDir ?? (0, import_node_path9.join)((0, import_node_os5.homedir)(), ".hocai", "jobs"),
45882
45905
  maxRunning: o.maxRunning,
45883
45906
  run: (job, onLine) => {
45884
- if (job.kind === "CHAT") {
45907
+ if (job.kind === "CHAT" || job.kind === "WORK" && job.agent) {
45885
45908
  const controller = new AbortController();
45886
45909
  let streamed = "";
45887
45910
  const done = Promise.resolve().then(() => runAi({
45888
45911
  agent: job.agent ?? "claude",
45889
- mode: "chat",
45912
+ mode: job.kind === "CHAT" ? "chat" : "work",
45890
45913
  prompt: job.prompt,
45891
45914
  cwd: job.dir,
45892
45915
  signal: controller.signal,
@@ -46253,6 +46276,7 @@ function handleServerMessage(msg, deps) {
46253
46276
  if (jobs.has(jobId)) return;
46254
46277
  const folderId = typeof msg.folderId === "string" ? msg.folderId : "";
46255
46278
  const prompt = typeof msg.prompt === "string" ? msg.prompt : "";
46279
+ const agent = msg.agent === "codex" ? "codex" : "claude";
46256
46280
  const dir = deps.folders.pathOf(folderId);
46257
46281
  if (!dir) {
46258
46282
  deps.send({
@@ -46263,7 +46287,7 @@ function handleServerMessage(msg, deps) {
46263
46287
  });
46264
46288
  return;
46265
46289
  }
46266
- const job = deps.store.create({ kind: "WORK", dir, prompt });
46290
+ const job = deps.store.create({ kind: "WORK", dir, prompt, agent });
46267
46291
  const record3 = { localId: job.id, finished: false };
46268
46292
  jobs.set(jobId, record3);
46269
46293
  let off = () => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hocai-connect",
3
- "version": "0.18.1",
3
+ "version": "0.18.2",
4
4
  "description": "Nối AI trên máy vào hocAI, chat, làm việc và gửi báo cáo qua MCP",
5
5
  "bin": {
6
6
  "hocai-connect": "bin.js"