onlymcp 0.17.0 → 0.19.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.
Files changed (126) hide show
  1. package/LICENSE +33 -17
  2. package/README.md +1 -1
  3. package/dist/bin/cli.js +46 -583
  4. package/dist/bin/mcp.js +45 -73
  5. package/package.json +6 -10
  6. package/dist/apiBaseUrl.d.ts +0 -12
  7. package/dist/apiBaseUrl.js +0 -28
  8. package/dist/apiBaseUrl.js.map +0 -1
  9. package/dist/apiClient.d.ts +0 -296
  10. package/dist/apiClient.js +0 -224
  11. package/dist/apiClient.js.map +0 -1
  12. package/dist/auth/deviceLogin.d.ts +0 -5
  13. package/dist/auth/deviceLogin.js +0 -40
  14. package/dist/auth/deviceLogin.js.map +0 -1
  15. package/dist/auth/keyring.d.ts +0 -16
  16. package/dist/auth/keyring.js +0 -33
  17. package/dist/auth/keyring.js.map +0 -1
  18. package/dist/bin/cli.d.ts +0 -2
  19. package/dist/bin/cli.js.map +0 -1
  20. package/dist/bin/mcp.d.ts +0 -2
  21. package/dist/bin/mcp.js.map +0 -1
  22. package/dist/cache.d.ts +0 -7
  23. package/dist/cache.js +0 -32
  24. package/dist/cache.js.map +0 -1
  25. package/dist/deviceId.d.ts +0 -2
  26. package/dist/deviceId.js +0 -97
  27. package/dist/deviceId.js.map +0 -1
  28. package/dist/export/unpack.d.ts +0 -33
  29. package/dist/export/unpack.js +0 -54
  30. package/dist/export/unpack.js.map +0 -1
  31. package/dist/identity.d.ts +0 -29
  32. package/dist/identity.js +0 -116
  33. package/dist/identity.js.map +0 -1
  34. package/dist/import/collect.d.ts +0 -25
  35. package/dist/import/collect.js +0 -101
  36. package/dist/import/collect.js.map +0 -1
  37. package/dist/import/frontmatter.d.ts +0 -44
  38. package/dist/import/frontmatter.js +0 -93
  39. package/dist/import/frontmatter.js.map +0 -1
  40. package/dist/import/plan.d.ts +0 -74
  41. package/dist/import/plan.js +0 -190
  42. package/dist/import/plan.js.map +0 -1
  43. package/dist/import/prune.d.ts +0 -46
  44. package/dist/import/prune.js +0 -61
  45. package/dist/import/prune.js.map +0 -1
  46. package/dist/import/secrets.d.ts +0 -7
  47. package/dist/import/secrets.js +0 -77
  48. package/dist/import/secrets.js.map +0 -1
  49. package/dist/import/upload.d.ts +0 -21
  50. package/dist/import/upload.js +0 -99
  51. package/dist/import/upload.js.map +0 -1
  52. package/dist/install.d.ts +0 -81
  53. package/dist/install.js +0 -168
  54. package/dist/install.js.map +0 -1
  55. package/dist/instructions.d.ts +0 -4
  56. package/dist/instructions.js +0 -67
  57. package/dist/instructions.js.map +0 -1
  58. package/dist/memoryPath.d.ts +0 -1
  59. package/dist/memoryPath.js +0 -13
  60. package/dist/memoryPath.js.map +0 -1
  61. package/dist/memorySync.d.ts +0 -28
  62. package/dist/memorySync.js +0 -56
  63. package/dist/memorySync.js.map +0 -1
  64. package/dist/paths.d.ts +0 -18
  65. package/dist/paths.js +0 -62
  66. package/dist/paths.js.map +0 -1
  67. package/dist/registry/caveats.d.ts +0 -17
  68. package/dist/registry/caveats.js +0 -74
  69. package/dist/registry/caveats.js.map +0 -1
  70. package/dist/registry/clients.d.ts +0 -17
  71. package/dist/registry/clients.js +0 -402
  72. package/dist/registry/clients.js.map +0 -1
  73. package/dist/registry/index.d.ts +0 -6
  74. package/dist/registry/index.js +0 -7
  75. package/dist/registry/index.js.map +0 -1
  76. package/dist/registry/serverInfo.d.ts +0 -25
  77. package/dist/registry/serverInfo.js +0 -33
  78. package/dist/registry/serverInfo.js.map +0 -1
  79. package/dist/registry/servers.d.ts +0 -58
  80. package/dist/registry/servers.js +0 -259
  81. package/dist/registry/servers.js.map +0 -1
  82. package/dist/registry/toolHints.d.ts +0 -29
  83. package/dist/registry/toolHints.js +0 -41
  84. package/dist/registry/toolHints.js.map +0 -1
  85. package/dist/registry/types.d.ts +0 -71
  86. package/dist/registry/types.js +0 -6
  87. package/dist/registry/types.js.map +0 -1
  88. package/dist/skillFilePath.d.ts +0 -1
  89. package/dist/skillFilePath.js +0 -29
  90. package/dist/skillFilePath.js.map +0 -1
  91. package/dist/stubIgnore.d.ts +0 -22
  92. package/dist/stubIgnore.js +0 -29
  93. package/dist/stubIgnore.js.map +0 -1
  94. package/dist/stubs.d.ts +0 -12
  95. package/dist/stubs.js +0 -188
  96. package/dist/stubs.js.map +0 -1
  97. package/dist/tools/connections.d.ts +0 -154
  98. package/dist/tools/connections.js +0 -164
  99. package/dist/tools/connections.js.map +0 -1
  100. package/dist/tools/getAgentDefinition.d.ts +0 -26
  101. package/dist/tools/getAgentDefinition.js +0 -29
  102. package/dist/tools/getAgentDefinition.js.map +0 -1
  103. package/dist/tools/getSkill.d.ts +0 -26
  104. package/dist/tools/getSkill.js +0 -26
  105. package/dist/tools/getSkill.js.map +0 -1
  106. package/dist/tools/getSkillFile.d.ts +0 -27
  107. package/dist/tools/getSkillFile.js +0 -39
  108. package/dist/tools/getSkillFile.js.map +0 -1
  109. package/dist/tools/index.d.ts +0 -263
  110. package/dist/tools/index.js +0 -69
  111. package/dist/tools/index.js.map +0 -1
  112. package/dist/tools/lists.d.ts +0 -38
  113. package/dist/tools/lists.js +0 -39
  114. package/dist/tools/lists.js.map +0 -1
  115. package/dist/tools/memoryGraph.d.ts +0 -69
  116. package/dist/tools/memoryGraph.js +0 -128
  117. package/dist/tools/memoryGraph.js.map +0 -1
  118. package/dist/tools/memoryRead.d.ts +0 -25
  119. package/dist/tools/memoryRead.js +0 -33
  120. package/dist/tools/memoryRead.js.map +0 -1
  121. package/dist/tools/memoryWrite.d.ts +0 -27
  122. package/dist/tools/memoryWrite.js +0 -34
  123. package/dist/tools/memoryWrite.js.map +0 -1
  124. package/dist/tools/write.d.ts +0 -166
  125. package/dist/tools/write.js +0 -193
  126. package/dist/tools/write.js.map +0 -1
@@ -1,128 +0,0 @@
1
- import { z } from 'zod';
2
- import { ApiError } from '../apiClient.js';
3
- import { isSafeMemoryPath } from '../memoryPath.js';
4
- const text = (s) => ({ content: [{ type: 'text', text: s }] });
5
- const failure = (s) => ({ content: [{ type: 'text', text: s }], isError: true });
6
- function codeOf(e) {
7
- return e instanceof ApiError ? e.code : 'errors.UNKNOWN';
8
- }
9
- export const MemorySearchInput = z.object({
10
- query: z.string().min(1).max(200),
11
- types: z.string().max(64).optional(),
12
- limit: z.number().int().min(1).max(50).optional(),
13
- });
14
- export function createMemorySearchTool(api) {
15
- return {
16
- name: 'memory_search',
17
- description: 'Full-text search across memory, skills and agents. Delivers the best hits with a short snippet each.',
18
- inputSchema: MemorySearchInput,
19
- async handler(args) {
20
- try {
21
- const { hits } = await api.searchContent(args.query, {
22
- types: args.types?.split(',').map((t) => t.trim()).filter((t) => t !== ''),
23
- limit: args.limit,
24
- });
25
- if (hits.length === 0)
26
- return text(`Nothing found for ${args.query}`);
27
- // Die Adresse zuerst: der naechste Aufruf ist memory_read(path) oder
28
- // get_skill(name), und was dafuer gebraucht wird, darf nicht im
29
- // Ausschnitt untergehen.
30
- return text(hits
31
- .map((h) => `${h.kind} ${h.path ?? h.name}${h.scope === 'team' ? ' (team)' : ''}\n ${h.snippet}`)
32
- .join('\n'));
33
- }
34
- catch (e) {
35
- return failure(codeOf(e));
36
- }
37
- },
38
- };
39
- }
40
- export const MemoryTreeInput = z.object({ scope: z.string().max(96).optional() });
41
- export function createMemoryTreeTool(api) {
42
- return {
43
- name: 'memory_tree',
44
- description: 'This account\'s folder structure: every folder, empty ones included, and the files in it.',
45
- inputSchema: MemoryTreeInput,
46
- async handler(args) {
47
- try {
48
- const { nodes } = await api.memoryTree(args.scope ?? 'all');
49
- if (nodes.length === 0)
50
- return text('(empty)');
51
- return text(nodes
52
- .map((n) => {
53
- const depth = n.path.split('/').length - 1;
54
- const label = n.kind === 'folder' ? `${n.name}/` : n.name;
55
- return `${' '.repeat(depth)}${label}${n.scope === 'team' ? ' (team)' : ''}`;
56
- })
57
- .join('\n'));
58
- }
59
- catch (e) {
60
- return failure(codeOf(e));
61
- }
62
- },
63
- };
64
- }
65
- export const MemoryMoveInput = z.object({
66
- from: z.string().min(3).max(256),
67
- to: z.string().min(3).max(256),
68
- updateLinks: z.boolean().optional(),
69
- });
70
- /** "1 file", "2 files": the move answers in files. */
71
- function files(count) {
72
- return `${count} ${count === 1 ? 'file' : 'files'}`;
73
- }
74
- export function createMemoryMoveTool(api) {
75
- return {
76
- name: 'memory_move',
77
- description: "Moves or renames a memory file. Every [[link]] that would no longer find it follows along, by name or by path, unless turned off.",
78
- inputSchema: MemoryMoveInput,
79
- async handler(args) {
80
- // Beide Pfade hier geprueft und nicht erst am Server: siehe
81
- // memoryPath.ts - encodeURIComponent laesst ".." als zwei Punkte durch.
82
- if (!isSafeMemoryPath(args.from) || !isSafeMemoryPath(args.to))
83
- return failure('errors.INVALID_PATH');
84
- const updateLinks = args.updateLinks ?? true;
85
- try {
86
- const r = await api.moveMemory(args.from, args.to, updateLinks);
87
- return text(`${r.from} moved to ${r.to}` +
88
- // The counts are files, not links: a file with three links to the moved one is one.
89
- (updateLinks ? `, links updated in ${files(r.rewritten)}, ${files(r.skipped)} left unchanged` : ''));
90
- }
91
- catch (e) {
92
- return failure(codeOf(e));
93
- }
94
- },
95
- };
96
- }
97
- export const MemoryLinksInput = z.object({ path: z.string().min(3).max(256) });
98
- export function createMemoryLinksTool(api) {
99
- return {
100
- name: 'memory_links',
101
- description: "A memory file's [[links]], split between the ones that point somewhere and the ones that point nowhere.",
102
- inputSchema: MemoryLinksInput,
103
- async handler(args) {
104
- if (!isSafeMemoryPath(args.path))
105
- return failure('errors.INVALID_PATH');
106
- try {
107
- const file = await api.readMemory(args.path);
108
- const { resolved, unresolved } = file.links;
109
- if (resolved.length === 0 && unresolved.length === 0) {
110
- return text(`${args.path} does not link to anything.`);
111
- }
112
- // Eine offene Verknuepfung ist kein Fehler und wird nicht versteckt:
113
- // sie ist eine Notiz, die jemand schreiben wollte und noch nicht
114
- // geschrieben hat. Genau dafuer gibt es die Trennung (Spec 4.3).
115
- return text([
116
- resolved.length > 0 ? `Resolved: ${resolved.join(', ')}` : '',
117
- unresolved.length > 0 ? `Open (no file with this name yet): ${unresolved.join(', ')}` : '',
118
- ]
119
- .filter((line) => line !== '')
120
- .join('\n'));
121
- }
122
- catch (e) {
123
- return failure(codeOf(e));
124
- }
125
- },
126
- };
127
- }
128
- //# sourceMappingURL=memoryGraph.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"memoryGraph.js","sourceRoot":"","sources":["../../src/tools/memoryGraph.ts"],"names":[],"mappings":"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"}
@@ -1,25 +0,0 @@
1
- import { z } from 'zod';
2
- import type { ApiClient } from '../apiClient.js';
3
- export declare const MemoryReadInput: z.ZodObject<{
4
- path: z.ZodString;
5
- }, z.core.$strip>;
6
- export declare function createMemoryReadTool(api: ApiClient): {
7
- name: string;
8
- description: string;
9
- inputSchema: z.ZodObject<{
10
- path: z.ZodString;
11
- }, z.core.$strip>;
12
- handler(args: z.infer<typeof MemoryReadInput>): Promise<{
13
- content: {
14
- type: "text";
15
- text: string;
16
- }[];
17
- isError: boolean;
18
- } | {
19
- content: {
20
- type: "text";
21
- text: string;
22
- }[];
23
- isError?: undefined;
24
- }>;
25
- };
@@ -1,33 +0,0 @@
1
- import { z } from 'zod';
2
- import { ApiError } from '../apiClient.js';
3
- import { isSafeMemoryPath } from '../memoryPath.js';
4
- export const MemoryReadInput = z.object({ path: z.string().min(3).max(256) });
5
- export function createMemoryReadTool(api) {
6
- const inFlight = new Map();
7
- return {
8
- name: 'memory_read',
9
- description: 'Reads a memory file live from the OnlyMCP cloud. No disk cache.',
10
- inputSchema: MemoryReadInput,
11
- async handler(args) {
12
- if (!isSafeMemoryPath(args.path)) {
13
- return { content: [{ type: 'text', text: 'errors.INVALID_PATH' }], isError: true };
14
- }
15
- try {
16
- // Nur exakt gleichzeitige Wiederholungen teilen sich eine Anfrage.
17
- // Kein Zeit-Cache: nach dem Aufloesen ist der Eintrag weg.
18
- let p = inFlight.get(args.path);
19
- if (!p) {
20
- p = api.readMemory(args.path).then((f) => f.content);
21
- inFlight.set(args.path, p);
22
- p.finally(() => inFlight.delete(args.path));
23
- }
24
- return { content: [{ type: 'text', text: await p }] };
25
- }
26
- catch (e) {
27
- const code = e instanceof ApiError ? e.code : 'errors.UNKNOWN';
28
- return { content: [{ type: 'text', text: code }], isError: true };
29
- }
30
- },
31
- };
32
- }
33
- //# sourceMappingURL=memoryRead.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"memoryRead.js","sourceRoot":"","sources":["../../src/tools/memoryRead.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAE9E,MAAM,UAAU,oBAAoB,CAAC,GAAc;IACjD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA2B,CAAC;IAEpD,OAAO;QACL,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,iEAAiE;QAC9E,WAAW,EAAE,eAAe;QAC5B,KAAK,CAAC,OAAO,CAAC,IAAqC;YACjD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACjC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,qBAAqB,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YAC9F,CAAC;YACD,IAAI,CAAC;gBACH,mEAAmE;gBACnE,2DAA2D;gBAC3D,IAAI,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAChC,IAAI,CAAC,CAAC,EAAE,CAAC;oBACP,CAAC,GAAG,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;oBACrD,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;oBAC3B,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC9C,CAAC;gBACD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;YACjE,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,MAAM,IAAI,GAAG,CAAC,YAAY,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC;gBAC/D,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YAC7E,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -1,27 +0,0 @@
1
- import { z } from 'zod';
2
- import type { ApiClient } from '../apiClient.js';
3
- export declare const MemoryWriteInput: z.ZodObject<{
4
- path: z.ZodString;
5
- content: z.ZodString;
6
- }, z.core.$strip>;
7
- export declare function createMemoryWriteTool(api: ApiClient): {
8
- name: string;
9
- description: string;
10
- inputSchema: z.ZodObject<{
11
- path: z.ZodString;
12
- content: z.ZodString;
13
- }, z.core.$strip>;
14
- handler(args: z.infer<typeof MemoryWriteInput>): Promise<{
15
- content: {
16
- type: "text";
17
- text: string;
18
- }[];
19
- isError: boolean;
20
- } | {
21
- content: {
22
- type: "text";
23
- text: string;
24
- }[];
25
- isError?: undefined;
26
- }>;
27
- };
@@ -1,34 +0,0 @@
1
- import { hostname } from 'node:os';
2
- import { z } from 'zod';
3
- import { ApiError } from '../apiClient.js';
4
- import { isSafeMemoryPath } from '../memoryPath.js';
5
- export const MemoryWriteInput = z.object({
6
- path: z.string().min(3).max(256),
7
- content: z.string().max(1_000_000),
8
- });
9
- export function createMemoryWriteTool(api) {
10
- return {
11
- name: 'memory_write',
12
- description: 'Writes a memory file live into the OnlyMCP cloud (write-through).',
13
- inputSchema: MemoryWriteInput,
14
- async handler(args) {
15
- if (!isSafeMemoryPath(args.path)) {
16
- return { content: [{ type: 'text', text: 'errors.INVALID_PATH' }], isError: true };
17
- }
18
- try {
19
- const res = await api.writeMemory(args.path, args.content, hostname());
20
- let text = res.warning
21
- ? `${res.path} ${res.updatedAt} ${res.warning.code} ${JSON.stringify(res.warning.params)}`
22
- : `${res.path} ${res.updatedAt}`;
23
- if (res.routedTo)
24
- text += ` (created in team ${res.routedTo.teamName})`;
25
- return { content: [{ type: 'text', text }] };
26
- }
27
- catch (e) {
28
- const code = e instanceof ApiError ? e.code : 'errors.UNKNOWN';
29
- return { content: [{ type: 'text', text: code }], isError: true };
30
- }
31
- },
32
- };
33
- }
34
- //# sourceMappingURL=memoryWrite.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"memoryWrite.js","sourceRoot":"","sources":["../../src/tools/memoryWrite.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IAChC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC;CACnC,CAAC,CAAC;AAEH,MAAM,UAAU,qBAAqB,CAAC,GAAc;IAClD,OAAO;QACL,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,mEAAmE;QAChF,WAAW,EAAE,gBAAgB;QAC7B,KAAK,CAAC,OAAO,CAAC,IAAsC;YAClD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACjC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,qBAAqB,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YAC9F,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;gBACvE,IAAI,IAAI,GAAG,GAAG,CAAC,OAAO;oBACpB,CAAC,CAAC,GAAG,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;oBAC1F,CAAC,CAAC,GAAG,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;gBACnC,IAAI,GAAG,CAAC,QAAQ;oBAAE,IAAI,IAAI,qBAAqB,GAAG,CAAC,QAAQ,CAAC,QAAQ,GAAG,CAAC;gBACxE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;YACxD,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,MAAM,IAAI,GAAG,CAAC,YAAY,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC;gBAC/D,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YAC7E,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -1,166 +0,0 @@
1
- import { z } from 'zod';
2
- import type { ApiClient } from '../apiClient.js';
3
- export declare const SkillWriteInput: z.ZodObject<{
4
- name: z.ZodString;
5
- body: z.ZodString;
6
- }, z.core.$strip>;
7
- export declare function createSkillWriteTool(api: ApiClient): {
8
- name: string;
9
- description: string;
10
- inputSchema: z.ZodObject<{
11
- name: z.ZodString;
12
- body: z.ZodString;
13
- }, z.core.$strip>;
14
- handler: (args: z.infer<typeof SkillWriteInput>) => Promise<{
15
- content: {
16
- type: "text";
17
- text: string;
18
- }[];
19
- }>;
20
- };
21
- export declare const SkillDeleteInput: z.ZodObject<{
22
- name: z.ZodString;
23
- }, z.core.$strip>;
24
- export declare function createSkillDeleteTool(api: ApiClient): {
25
- name: string;
26
- description: string;
27
- inputSchema: z.ZodObject<{
28
- name: z.ZodString;
29
- }, z.core.$strip>;
30
- handler: (args: z.infer<typeof SkillDeleteInput>) => Promise<{
31
- content: {
32
- type: "text";
33
- text: string;
34
- }[];
35
- }>;
36
- };
37
- export declare const ListSkillFilesInput: z.ZodObject<{
38
- skill: z.ZodString;
39
- }, z.core.$strip>;
40
- export declare function createListSkillFilesTool(api: ApiClient): {
41
- name: string;
42
- description: string;
43
- inputSchema: z.ZodObject<{
44
- skill: z.ZodString;
45
- }, z.core.$strip>;
46
- handler: (args: z.infer<typeof ListSkillFilesInput>) => Promise<{
47
- content: {
48
- type: "text";
49
- text: string;
50
- }[];
51
- }>;
52
- };
53
- export declare const SkillFileWriteInput: z.ZodObject<{
54
- skill: z.ZodString;
55
- path: z.ZodString;
56
- content: z.ZodString;
57
- encoding: z.ZodDefault<z.ZodEnum<{
58
- utf8: "utf8";
59
- base64: "base64";
60
- }>>;
61
- }, z.core.$strip>;
62
- export declare function createSkillFileWriteTool(api: ApiClient): {
63
- name: string;
64
- description: string;
65
- inputSchema: z.ZodObject<{
66
- skill: z.ZodString;
67
- path: z.ZodString;
68
- content: z.ZodString;
69
- encoding: z.ZodDefault<z.ZodEnum<{
70
- utf8: "utf8";
71
- base64: "base64";
72
- }>>;
73
- }, z.core.$strip>;
74
- handler: (args: z.infer<typeof SkillFileWriteInput>) => Promise<{
75
- content: {
76
- type: "text";
77
- text: string;
78
- }[];
79
- }>;
80
- };
81
- export declare const SkillFileDeleteInput: z.ZodObject<{
82
- skill: z.ZodString;
83
- path: z.ZodString;
84
- }, z.core.$strip>;
85
- export declare function createSkillFileDeleteTool(api: ApiClient): {
86
- name: string;
87
- description: string;
88
- inputSchema: z.ZodObject<{
89
- skill: z.ZodString;
90
- path: z.ZodString;
91
- }, z.core.$strip>;
92
- handler: (args: z.infer<typeof SkillFileDeleteInput>) => Promise<{
93
- content: {
94
- type: "text";
95
- text: string;
96
- }[];
97
- }>;
98
- };
99
- export declare const AgentWriteInput: z.ZodObject<{
100
- name: z.ZodString;
101
- description: z.ZodString;
102
- body: z.ZodString;
103
- model: z.ZodOptional<z.ZodString>;
104
- tools: z.ZodOptional<z.ZodArray<z.ZodString>>;
105
- }, z.core.$strip>;
106
- export declare function createAgentWriteTool(api: ApiClient): {
107
- name: string;
108
- description: string;
109
- inputSchema: z.ZodObject<{
110
- name: z.ZodString;
111
- description: z.ZodString;
112
- body: z.ZodString;
113
- model: z.ZodOptional<z.ZodString>;
114
- tools: z.ZodOptional<z.ZodArray<z.ZodString>>;
115
- }, z.core.$strip>;
116
- handler: (args: z.infer<typeof AgentWriteInput>) => Promise<{
117
- content: {
118
- type: "text";
119
- text: string;
120
- }[];
121
- }>;
122
- };
123
- export declare const AgentDeleteInput: z.ZodObject<{
124
- name: z.ZodString;
125
- }, z.core.$strip>;
126
- export declare function createAgentDeleteTool(api: ApiClient): {
127
- name: string;
128
- description: string;
129
- inputSchema: z.ZodObject<{
130
- name: z.ZodString;
131
- }, z.core.$strip>;
132
- handler: (args: z.infer<typeof AgentDeleteInput>) => Promise<{
133
- content: {
134
- type: "text";
135
- text: string;
136
- }[];
137
- }>;
138
- };
139
- export declare const ListMemoryInput: z.ZodObject<{}, z.core.$strip>;
140
- export declare function createListMemoryTool(api: ApiClient): {
141
- name: string;
142
- description: string;
143
- inputSchema: z.ZodObject<{}, z.core.$strip>;
144
- handler: () => Promise<{
145
- content: {
146
- type: "text";
147
- text: string;
148
- }[];
149
- }>;
150
- };
151
- export declare const MemoryDeleteInput: z.ZodObject<{
152
- path: z.ZodString;
153
- }, z.core.$strip>;
154
- export declare function createMemoryDeleteTool(api: ApiClient): {
155
- name: string;
156
- description: string;
157
- inputSchema: z.ZodObject<{
158
- path: z.ZodString;
159
- }, z.core.$strip>;
160
- handler: (args: z.infer<typeof MemoryDeleteInput>) => Promise<{
161
- content: {
162
- type: "text";
163
- text: string;
164
- }[];
165
- }>;
166
- };
@@ -1,193 +0,0 @@
1
- import { z } from 'zod';
2
- import { ApiError } from '../apiClient.js';
3
- import { isSafeMemoryPath } from '../memoryPath.js';
4
- import { isSafeSkillFilePath } from '../skillFilePath.js';
5
- /**
6
- * Anlegen, Aendern und Loeschen ueber den stdio-Server.
7
- *
8
- * Bis 0.9.0 konnte dieser Server lesen und genau eine Sache schreiben:
9
- * memory_write. Ein Skill liess sich damit laden, aber nicht anlegen - dafuer
10
- * blieben das Dashboard oder `npx onlymcp import`. Das war nie ein Entscheid,
11
- * es war eine Luecke: die API konnte es die ganze Zeit.
12
- *
13
- * Die Rechtepruefung sitzt im Server, nicht hier. Dieser Client schickt die
14
- * Anfrage und gibt den Fehlercode weiter, den er zurueckbekommt - `errors.
15
- * FORBIDDEN` heisst dann, dass ein Team-Recht fehlt, und der Agent liest das
16
- * und hoert auf, es zu versuchen.
17
- */
18
- const text = (value) => ({ content: [{ type: 'text', text: value }] });
19
- const bad = (value) => ({ content: [{ type: 'text', text: value }], isError: true });
20
- /** Jeder Aufruf endet entweder in einer Antwort oder in einem Fehlercode. */
21
- async function attempt(run) {
22
- try {
23
- return text(await run());
24
- }
25
- catch (e) {
26
- if (e instanceof ApiError) {
27
- const params = Object.keys(e.params).length ? ` ${JSON.stringify(e.params)}` : '';
28
- return bad(`${e.code}${params}`);
29
- }
30
- return bad('errors.UNKNOWN');
31
- }
32
- }
33
- const skillNameSchema = z
34
- .string()
35
- .min(1)
36
- .max(64)
37
- .regex(/^[a-z0-9]+(-[a-z0-9]+)*$/, 'errors.INVALID_NAME');
38
- export const SkillWriteInput = z.object({
39
- name: skillNameSchema,
40
- body: z.string().max(200_000),
41
- });
42
- export function createSkillWriteTool(api) {
43
- return {
44
- name: 'skill_write',
45
- description: 'Create a skill or replace the body of an existing one. The body is the whole SKILL.md, frontmatter included.',
46
- inputSchema: SkillWriteInput,
47
- handler: (args) => attempt(async () => {
48
- const res = await api.putSkill(args.name, args.body);
49
- return `${res.name} ${res.updatedAt}`;
50
- }),
51
- };
52
- }
53
- export const SkillDeleteInput = z.object({ name: skillNameSchema });
54
- export function createSkillDeleteTool(api) {
55
- return {
56
- name: 'skill_delete',
57
- description: 'Delete one skill and every file that belongs to it. Moves it to the trash; it can be restored in the dashboard for the trash period (default 7 days).',
58
- inputSchema: SkillDeleteInput,
59
- handler: (args) => attempt(async () => {
60
- await api.deleteSkill(args.name);
61
- return `Deleted skill ${args.name}`;
62
- }),
63
- };
64
- }
65
- export const ListSkillFilesInput = z.object({ skill: skillNameSchema });
66
- export function createListSkillFilesTool(api) {
67
- return {
68
- name: 'list_skill_files',
69
- description: 'List the companion files of one skill, with their size in bytes.',
70
- inputSchema: ListSkillFilesInput,
71
- handler: (args) => attempt(async () => {
72
- const { files } = await api.getSkill(args.skill);
73
- if (files.length === 0)
74
- return `${args.skill} has no companion files.`;
75
- return files.map((f) => `${f.path} (${f.size} bytes, ${f.encoding})`).join('\n');
76
- }),
77
- };
78
- }
79
- export const SkillFileWriteInput = z.object({
80
- skill: skillNameSchema,
81
- path: z.string().min(1).max(256),
82
- content: z.string().max(3_000_000),
83
- encoding: z.enum(['utf8', 'base64']).default('utf8'),
84
- });
85
- export function createSkillFileWriteTool(api) {
86
- return {
87
- name: 'skill_file_write',
88
- description: 'Create or replace one companion file of a skill. Use encoding base64 for anything that is not text.',
89
- inputSchema: SkillFileWriteInput,
90
- handler: (args) => {
91
- if (!isSafeSkillFilePath(args.path))
92
- return Promise.resolve(bad('errors.INVALID_PATH'));
93
- return attempt(async () => {
94
- const res = await api.putSkillFile(args.skill, args.path, args.content, args.encoding);
95
- return `${args.skill}/${res.path} ${res.size} bytes`;
96
- });
97
- },
98
- };
99
- }
100
- export const SkillFileDeleteInput = z.object({
101
- skill: skillNameSchema,
102
- path: z.string().min(1).max(256),
103
- });
104
- export function createSkillFileDeleteTool(api) {
105
- return {
106
- name: 'skill_file_delete',
107
- description: 'Delete one companion file of a skill. The skill itself stays.',
108
- inputSchema: SkillFileDeleteInput,
109
- handler: (args) => {
110
- if (!isSafeSkillFilePath(args.path))
111
- return Promise.resolve(bad('errors.INVALID_PATH'));
112
- return attempt(async () => {
113
- await api.deleteSkillFile(args.skill, args.path);
114
- return `Deleted ${args.skill}/${args.path}`;
115
- });
116
- },
117
- };
118
- }
119
- export const AgentWriteInput = z.object({
120
- name: skillNameSchema,
121
- description: z.string().min(1).max(1000),
122
- body: z.string().max(200_000),
123
- model: z.string().max(64).optional(),
124
- tools: z.array(z.string().max(128)).max(200).optional(),
125
- });
126
- export function createAgentWriteTool(api) {
127
- return {
128
- name: 'agent_write',
129
- description: 'Create an agent or replace an existing one. Leave model out to keep the one it already has.',
130
- inputSchema: AgentWriteInput,
131
- handler: (args) => attempt(async () => {
132
- // Die REST-Route ersetzt die ganze Zeile, anders als das Werkzeug am
133
- // entfernten Gateway. Also erst lesen, was da ist, damit ein
134
- // Nachfuehren der Beschreibung nicht stillschweigend das Modell
135
- // abraeumt - ein Agent ohne model laeuft danach auf dem Modell der
136
- // Hauptsitzung.
137
- const before = await api.getAgent(args.name).catch(() => null);
138
- const res = await api.putAgent(args.name, {
139
- description: args.description,
140
- body: args.body,
141
- model: args.model ?? before?.model ?? undefined,
142
- tools: args.tools ?? before?.tools ?? [],
143
- });
144
- return `${res.name} ${res.updatedAt}`;
145
- }),
146
- };
147
- }
148
- export const AgentDeleteInput = z.object({ name: skillNameSchema });
149
- export function createAgentDeleteTool(api) {
150
- return {
151
- name: 'agent_delete',
152
- description: 'Delete one agent. Moves it to the trash; it can be restored in the dashboard for the trash period (default 7 days).',
153
- inputSchema: AgentDeleteInput,
154
- handler: (args) => attempt(async () => {
155
- await api.deleteAgent(args.name);
156
- return `Deleted agent ${args.name}`;
157
- }),
158
- };
159
- }
160
- export const ListMemoryInput = z.object({});
161
- export function createListMemoryTool(api) {
162
- return {
163
- name: 'list_memory',
164
- description: 'List the paths of every memory file in this account, private and team, sorted by path.',
165
- inputSchema: ListMemoryInput,
166
- handler: () => attempt(async () => {
167
- const { files } = await api.listMemory();
168
- if (files.length === 0)
169
- return '(none)';
170
- return files
171
- .map((f) => f.path + (f.scope === 'team' ? ` (team${f.teamName ? `: ${f.teamName}` : ''})` : ''))
172
- .sort()
173
- .join('\n');
174
- }),
175
- };
176
- }
177
- export const MemoryDeleteInput = z.object({ path: z.string().min(3).max(256) });
178
- export function createMemoryDeleteTool(api) {
179
- return {
180
- name: 'memory_delete',
181
- description: 'Delete one memory file. Moves it to the trash; it can be restored in the dashboard for the trash period (default 7 days).',
182
- inputSchema: MemoryDeleteInput,
183
- handler: (args) => {
184
- if (!isSafeMemoryPath(args.path))
185
- return Promise.resolve(bad('errors.INVALID_PATH'));
186
- return attempt(async () => {
187
- await api.deleteMemory(args.path);
188
- return `Deleted ${args.path}`;
189
- });
190
- },
191
- };
192
- }
193
- //# sourceMappingURL=write.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"write.js","sourceRoot":"","sources":["../../src/tools/write.ts"],"names":[],"mappings":"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"}