@fre4x/jules 1.0.1 → 1.0.8

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 (36) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +71 -71
  3. package/dist/__tests__/julesApiClient.test.js +12 -8
  4. package/dist/__tests__/julesApiClient.test.js.map +1 -1
  5. package/dist/__tests__/toolRegistration.test.js +1 -1
  6. package/dist/constants.js +1 -1
  7. package/dist/index.js +14 -14
  8. package/dist/index.js.map +1 -1
  9. package/dist/mock.d.ts.map +1 -1
  10. package/dist/mock.js +26 -26
  11. package/dist/mock.js.map +1 -1
  12. package/dist/schemas/julesSchemas.d.ts +55 -79
  13. package/dist/schemas/julesSchemas.d.ts.map +1 -1
  14. package/dist/schemas/julesSchemas.js +40 -12
  15. package/dist/schemas/julesSchemas.js.map +1 -1
  16. package/dist/services/julesApiClient.d.ts +2 -2
  17. package/dist/services/julesApiClient.d.ts.map +1 -1
  18. package/dist/services/julesApiClient.js +27 -19
  19. package/dist/services/julesApiClient.js.map +1 -1
  20. package/dist/tools/approvePlan.d.ts +1 -1
  21. package/dist/tools/approvePlan.d.ts.map +1 -1
  22. package/dist/tools/approvePlan.js +20 -17
  23. package/dist/tools/approvePlan.js.map +1 -1
  24. package/dist/tools/createSession.d.ts +1 -1
  25. package/dist/tools/createSession.d.ts.map +1 -1
  26. package/dist/tools/createSession.js +35 -30
  27. package/dist/tools/createSession.js.map +1 -1
  28. package/dist/tools/listSessions.d.ts +1 -1
  29. package/dist/tools/listSessions.d.ts.map +1 -1
  30. package/dist/tools/listSessions.js +37 -36
  31. package/dist/tools/listSessions.js.map +1 -1
  32. package/dist/tools/listSources.d.ts +1 -1
  33. package/dist/tools/listSources.d.ts.map +1 -1
  34. package/dist/tools/listSources.js +31 -20
  35. package/dist/tools/listSources.js.map +1 -1
  36. package/package.json +7 -8
@@ -1,12 +1,11 @@
1
- import { handleApiError, julesApiRequest } from "../services/julesApiClient.js";
2
- import { ListSourcesInputSchema, ResponseFormat } from "../schemas/julesSchemas.js";
3
- import { CHARACTER_LIMIT } from "../constants.js";
4
- import { IS_MOCK, MOCK_FIXTURES } from "../mock.js";
1
+ import { handleApiError, julesApiRequest } from '../services/julesApiClient.js';
2
+ import { ListSourcesInputSchema, ResponseFormat, } from '../schemas/julesSchemas.js';
3
+ import { CHARACTER_LIMIT } from '../constants.js';
4
+ import { IS_MOCK, MOCK_FIXTURES } from '../mock.js';
5
5
  export function registerListSourcesTool(server) {
6
- // @ts-expect-error TS2589: ZodDefault chain triggers deep inference in MCP SDK 1.26
7
- server.registerTool("jules_list_sources", {
8
- title: "List Jules Sources",
9
- description: "List available sources (repositories) connected to Jules.",
6
+ server.registerTool('jules_list_sources', {
7
+ title: 'List Jules Sources',
8
+ description: 'List available sources (repositories) connected to Jules.',
10
9
  inputSchema: ListSourcesInputSchema,
11
10
  annotations: {
12
11
  readOnlyHint: true,
@@ -15,41 +14,53 @@ export function registerListSourcesTool(server) {
15
14
  openWorldHint: false,
16
15
  },
17
16
  }, async (params) => {
18
- const p = params;
19
17
  try {
20
- const queryParams = { pageSize: p.pageSize };
21
- if (p.pageToken)
22
- queryParams.pageToken = p.pageToken;
18
+ const queryParams = {
19
+ pageSize: params.pageSize,
20
+ };
21
+ if (params.pageToken)
22
+ queryParams.pageToken = params.pageToken;
23
23
  const data = IS_MOCK
24
24
  ? MOCK_FIXTURES.listSources
25
- : await julesApiRequest("/v1alpha/sources", "GET", undefined, queryParams);
25
+ : await julesApiRequest('/v1alpha/sources', 'GET', undefined, queryParams);
26
26
  const sources = data?.sources ?? [];
27
27
  const nextPageToken = data?.nextPageToken;
28
28
  if (!sources.length) {
29
- return { content: [{ type: "text", text: "No sources found." }] };
29
+ return {
30
+ content: [
31
+ {
32
+ type: 'text',
33
+ text: 'No sources found.',
34
+ },
35
+ ],
36
+ };
30
37
  }
31
38
  const output = { sources, nextPageToken };
32
39
  let textContent;
33
- if (p.response_format === ResponseFormat.MARKDOWN) {
34
- const lines = ["# Jules Sources", ""];
40
+ if (params.response_format !== ResponseFormat.JSON) {
41
+ const lines = ['# Jules Sources', ''];
35
42
  for (const source of sources) {
36
43
  lines.push(`## ${source.name}`);
37
44
  if (source.id)
38
45
  lines.push(`- **ID**: ${source.id}`);
39
46
  if (source.githubRepo)
40
47
  lines.push(`- **GitHub Repo**: ${source.githubRepo.owner}/${source.githubRepo.repo}`);
41
- lines.push("");
48
+ lines.push('');
42
49
  }
43
50
  if (nextPageToken)
44
51
  lines.push(`**Next Page Token**: ${nextPageToken}`);
45
- textContent = lines.join("\n");
52
+ textContent = lines.join('\n');
46
53
  }
47
54
  else {
48
55
  textContent = JSON.stringify(output, null, 2);
49
56
  }
50
57
  if (textContent.length > CHARACTER_LIMIT)
51
- textContent = textContent.slice(0, CHARACTER_LIMIT) + "\n...[truncated]";
52
- return { content: [{ type: "text", text: textContent }] };
58
+ textContent =
59
+ textContent.slice(0, CHARACTER_LIMIT) +
60
+ '\n...[truncated]';
61
+ return {
62
+ content: [{ type: 'text', text: textContent }],
63
+ };
53
64
  }
54
65
  catch (error) {
55
66
  return handleApiError(error);
@@ -1 +1 @@
1
- {"version":3,"file":"listSources.js","sourceRoot":"","sources":["../../src/tools/listSources.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"listSources.js","sourceRoot":"","sources":["../../src/tools/listSources.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fre4x/jules",
3
- "version": "1.0.1",
3
+ "version": "1.0.8",
4
4
  "description": "MCP server for Jules API integration",
5
5
  "type": "module",
6
6
  "bin": {
@@ -12,12 +12,11 @@
12
12
  "main": "dist/index.js",
13
13
  "scripts": {
14
14
  "start": "node dist/index.js",
15
- "dev": "tsx watch src/index.ts",
16
- "build": "tsc",
17
- "typecheck": "tsc --noEmit",
18
- "prepublishOnly": "npm run build",
19
- "inspector": "mcp-inspector node dist/index.js",
20
- "test": "vitest run",
15
+ "dev": "tsc --watch",
16
+ "build": "NODE_OPTIONS='--max-old-space-size=4096' tsc",
17
+ "typecheck": "NODE_OPTIONS='--max-old-space-size=4096' tsc --noEmit",
18
+ "inspector": "MOCK=true npx @modelcontextprotocol/inspector dist/index.js",
19
+ "test": "vitest run --exclude dist",
21
20
  "test:watch": "vitest",
22
21
  "clean": "rm -rf dist"
23
22
  },
@@ -30,7 +29,7 @@
30
29
  "dependencies": {
31
30
  "@modelcontextprotocol/sdk": "^1.26.0",
32
31
  "axios": "^1.7.9",
33
- "zod": "^3.24.1"
32
+ "zod": "4.3.6"
34
33
  },
35
34
  "devDependencies": {
36
35
  "@types/node": "^22.10.0",