@husar.ai/cli 0.2.5 → 0.2.7

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,28 +1,31 @@
1
1
  import * as path from 'node:path';
2
2
  import * as fs from 'node:fs/promises';
3
- import { DOWNLOADABLE } from '@husar.ai/shared-frontend-backend';
4
3
  export const parser = async (inputFile, opts, authentication) => {
5
4
  const { HUSAR_MCP_ADMIN_TOKEN, HUSAR_MCP_HOST } = authentication;
6
5
  const filename = path.basename(inputFile);
7
6
  const body = await fs.readFile(path.resolve(process.cwd(), inputFile), 'utf8');
8
- const prefix = [DOWNLOADABLE, 'parse'].join('/');
7
+ const prefix = ['DOWNLOADABLE-FILES', 'parse'].join('/');
9
8
  const key = `${opts.name}-${filename}-${new Date().getTime()}.txt`;
10
9
  const put = await fetch(new URL('api/graphql', HUSAR_MCP_HOST).toString(), {
11
10
  method: 'POST',
12
11
  headers: { 'Content-Type': 'application/json', husar_token: HUSAR_MCP_ADMIN_TOKEN },
13
12
  body: JSON.stringify({
14
- query: `mutation GetUploadURL($input: UploadFileInput!) { admin { uploadFile(file: $input) { putURL } } }`,
13
+ query: `mutation GetUploadURL($input: UploadFileInput!) { admin { uploadFile(file: $input) { putURL cdnURL } } }`,
15
14
  variables: { input: { prefix, key } },
16
15
  }),
17
16
  });
18
- const putURL = (await put.json())?.data?.admin?.uploadFile?.putURL;
19
- await fetch(putURL, { method: 'PUT', headers: { 'Content-Type': 'text/plain' }, body });
17
+ const response = await put.json();
18
+ const putURL = response?.data?.admin?.uploadFile?.putURL;
19
+ const cdnURL = response?.data?.admin?.uploadFile?.cdnURL;
20
+ await fetch(putURL, { method: 'PUT', headers: { 'Content-Type': 'text/plain', 'x-amz-acl': 'public-read' }, body });
20
21
  const result = await fetch(new URL('api/graphql', HUSAR_MCP_HOST).toString(), {
21
22
  method: 'POST',
22
23
  headers: { 'Content-Type': 'application/json', husar_token: HUSAR_MCP_ADMIN_TOKEN },
23
24
  body: JSON.stringify({
24
25
  query: `mutation ParseFile($input: ParseFileInput!) { admin { parseFile(input: $input) { name type status } } }`,
25
- variables: { input: { key: [prefix, key].join('/'), name: opts.name, type: opts.type.toUpperCase() } },
26
+ variables: {
27
+ input: { key: [prefix, key].join('/'), fileURL: cdnURL, name: opts.name, type: opts.type.toUpperCase() },
28
+ },
26
29
  }),
27
30
  });
28
31
  return (await result.json())?.data?.admin?.parseFile;
@@ -1 +1 @@
1
- {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/functions/parser.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAEjE,MAAM,CAAC,MAAM,MAAM,GAAG,KAAK,EACzB,SAAiB,EACjB,IAA+C,EAC/C,cAAyE,EACzE,EAAE;IACF,MAAM,EAAE,qBAAqB,EAAE,cAAc,EAAE,GAAG,cAAc,CAAC;IACjE,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC1C,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,EAAE,MAAM,CAAC,CAAC;IAC/E,MAAM,MAAM,GAAG,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACjD,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,IAAI,QAAQ,IAAI,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC;IACnE,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,IAAI,GAAG,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC,QAAQ,EAAE,EAAE;QACzE,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,WAAW,EAAE,qBAAqB,EAAE;QACnF,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACnB,KAAK,EAAE,mGAAmG;YAC1G,SAAS,EAAE,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;SACtC,CAAC;KACH,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC;IACnE,MAAM,KAAK,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IACxF,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,IAAI,GAAG,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC,QAAQ,EAAE,EAAE;QAC5E,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,WAAW,EAAE,qBAAqB,EAAE;QACnF,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACnB,KAAK,EAAE,yGAAyG;YAChH,SAAS,EAAE,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,EAAE;SACvG,CAAC;KACH,CAAC,CAAC;IACH,OAAO,CAAC,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC;AACvD,CAAC,CAAC"}
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/functions/parser.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEvC,MAAM,CAAC,MAAM,MAAM,GAAG,KAAK,EACzB,SAAiB,EACjB,IAA+C,EAC/C,cAAyE,EACzE,EAAE;IACF,MAAM,EAAE,qBAAqB,EAAE,cAAc,EAAE,GAAG,cAAc,CAAC;IACjE,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC1C,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,EAAE,MAAM,CAAC,CAAC;IAC/E,MAAM,MAAM,GAAG,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACzD,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,IAAI,QAAQ,IAAI,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC;IACnE,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,IAAI,GAAG,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC,QAAQ,EAAE,EAAE;QACzE,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,WAAW,EAAE,qBAAqB,EAAE;QACnF,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACnB,KAAK,EAAE,0GAA0G;YACjH,SAAS,EAAE,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;SACtC,CAAC;KACH,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;IAClC,MAAM,MAAM,GAAG,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC;IACzD,MAAM,MAAM,GAAG,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC;IACzD,MAAM,KAAK,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IACpH,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,IAAI,GAAG,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC,QAAQ,EAAE,EAAE;QAC5E,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,WAAW,EAAE,qBAAqB,EAAE;QACnF,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACnB,KAAK,EAAE,yGAAyG;YAChH,SAAS,EAAE;gBACT,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE;aACzG;SACF,CAAC;KACH,CAAC,CAAC;IACH,OAAO,CAAC,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC;AACvD,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@husar.ai/cli",
3
- "version": "0.2.5",
3
+ "version": "0.2.7",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "main": "dist/cli.js",
@@ -15,8 +15,7 @@
15
15
  "watch": "tspc --watch"
16
16
  },
17
17
  "dependencies": {
18
- "@husar.ai/ssr": "^0.2.5",
19
- "@husar.ai/shared-frontend-backend": "^0.2.5",
18
+ "@husar.ai/ssr": "^0.2.7",
20
19
  "commander": "^11.0.0",
21
20
  "config-maker": "^0.0.6"
22
21
  },
@@ -1,7 +1,6 @@
1
1
  /* eslint-disable @typescript-eslint/no-explicit-any */
2
2
  import * as path from 'node:path';
3
3
  import * as fs from 'node:fs/promises';
4
- import { DOWNLOADABLE } from '@husar.ai/shared-frontend-backend';
5
4
 
6
5
  export const parser = async (
7
6
  inputFile: string,
@@ -11,24 +10,28 @@ export const parser = async (
11
10
  const { HUSAR_MCP_ADMIN_TOKEN, HUSAR_MCP_HOST } = authentication;
12
11
  const filename = path.basename(inputFile);
13
12
  const body = await fs.readFile(path.resolve(process.cwd(), inputFile), 'utf8');
14
- const prefix = [DOWNLOADABLE, 'parse'].join('/');
13
+ const prefix = ['DOWNLOADABLE-FILES', 'parse'].join('/');
15
14
  const key = `${opts.name}-${filename}-${new Date().getTime()}.txt`;
16
15
  const put = await fetch(new URL('api/graphql', HUSAR_MCP_HOST).toString(), {
17
16
  method: 'POST',
18
17
  headers: { 'Content-Type': 'application/json', husar_token: HUSAR_MCP_ADMIN_TOKEN },
19
18
  body: JSON.stringify({
20
- query: `mutation GetUploadURL($input: UploadFileInput!) { admin { uploadFile(file: $input) { putURL } } }`,
19
+ query: `mutation GetUploadURL($input: UploadFileInput!) { admin { uploadFile(file: $input) { putURL cdnURL } } }`,
21
20
  variables: { input: { prefix, key } },
22
21
  }),
23
22
  });
24
- const putURL = (await put.json())?.data?.admin?.uploadFile?.putURL;
25
- await fetch(putURL, { method: 'PUT', headers: { 'Content-Type': 'text/plain' }, body });
23
+ const response = await put.json();
24
+ const putURL = response?.data?.admin?.uploadFile?.putURL;
25
+ const cdnURL = response?.data?.admin?.uploadFile?.cdnURL;
26
+ await fetch(putURL, { method: 'PUT', headers: { 'Content-Type': 'text/plain', 'x-amz-acl': 'public-read' }, body });
26
27
  const result = await fetch(new URL('api/graphql', HUSAR_MCP_HOST).toString(), {
27
28
  method: 'POST',
28
29
  headers: { 'Content-Type': 'application/json', husar_token: HUSAR_MCP_ADMIN_TOKEN },
29
30
  body: JSON.stringify({
30
31
  query: `mutation ParseFile($input: ParseFileInput!) { admin { parseFile(input: $input) { name type status } } }`,
31
- variables: { input: { key: [prefix, key].join('/'), name: opts.name, type: opts.type.toUpperCase() } },
32
+ variables: {
33
+ input: { key: [prefix, key].join('/'), fileURL: cdnURL, name: opts.name, type: opts.type.toUpperCase() },
34
+ },
32
35
  }),
33
36
  });
34
37
  return (await result.json())?.data?.admin?.parseFile;