@agllama/mcp 0.7.0 → 0.7.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 (61) hide show
  1. package/README.md +56 -2
  2. package/SECURITY.md +62 -0
  3. package/dist/api-client.d.ts +14 -1
  4. package/dist/api-client.d.ts.map +1 -1
  5. package/dist/api-client.js +169 -56
  6. package/dist/api-client.js.map +1 -1
  7. package/dist/server.d.ts.map +1 -1
  8. package/dist/server.js +71 -0
  9. package/dist/server.js.map +1 -1
  10. package/dist/tools/__tests__/llama1876.test.d.ts +2 -0
  11. package/dist/tools/__tests__/llama1876.test.d.ts.map +1 -0
  12. package/dist/tools/__tests__/llama1876.test.js +311 -0
  13. package/dist/tools/__tests__/llama1876.test.js.map +1 -0
  14. package/dist/tools/__tests__/session.test.js +122 -2
  15. package/dist/tools/__tests__/session.test.js.map +1 -1
  16. package/dist/tools/codeDocs.d.ts +165 -0
  17. package/dist/tools/codeDocs.d.ts.map +1 -0
  18. package/dist/tools/codeDocs.js +330 -0
  19. package/dist/tools/codeDocs.js.map +1 -0
  20. package/dist/tools/context.js +2 -2
  21. package/dist/tools/context.js.map +1 -1
  22. package/dist/tools/epicSignOff.d.ts +25 -0
  23. package/dist/tools/epicSignOff.d.ts.map +1 -0
  24. package/dist/tools/epicSignOff.js +89 -0
  25. package/dist/tools/epicSignOff.js.map +1 -0
  26. package/dist/tools/help.d.ts.map +1 -1
  27. package/dist/tools/help.js +16 -2
  28. package/dist/tools/help.js.map +1 -1
  29. package/dist/tools/index.d.ts +2 -0
  30. package/dist/tools/index.d.ts.map +1 -1
  31. package/dist/tools/index.js +3 -1
  32. package/dist/tools/index.js.map +1 -1
  33. package/dist/tools/issueLinks.d.ts +10 -10
  34. package/dist/tools/issueLinks.d.ts.map +1 -1
  35. package/dist/tools/issueLinks.js +4 -4
  36. package/dist/tools/issueLinks.js.map +1 -1
  37. package/dist/tools/issues.d.ts +3 -0
  38. package/dist/tools/issues.d.ts.map +1 -1
  39. package/dist/tools/issues.js +26 -1
  40. package/dist/tools/issues.js.map +1 -1
  41. package/dist/tools/notificationRules.d.ts +2 -2
  42. package/dist/tools/prScorer.d.ts +1 -1
  43. package/dist/tools/prScorer.d.ts.map +1 -1
  44. package/dist/tools/prScorerSchema.d.ts +7 -1
  45. package/dist/tools/prScorerSchema.d.ts.map +1 -1
  46. package/dist/tools/prScorerSchema.js +81 -36
  47. package/dist/tools/prScorerSchema.js.map +1 -1
  48. package/dist/tools/roadmap.d.ts +5 -0
  49. package/dist/tools/roadmap.d.ts.map +1 -1
  50. package/dist/tools/roadmap.js +11 -2
  51. package/dist/tools/roadmap.js.map +1 -1
  52. package/dist/tools/session.d.ts +8 -0
  53. package/dist/tools/session.d.ts.map +1 -1
  54. package/dist/tools/session.js +18 -3
  55. package/dist/tools/session.js.map +1 -1
  56. package/dist/tools/sprints.d.ts.map +1 -1
  57. package/dist/tools/sprints.js +10 -0
  58. package/dist/tools/sprints.js.map +1 -1
  59. package/dist/types.d.ts +95 -1
  60. package/dist/types.d.ts.map +1 -1
  61. package/package.json +8 -3
@@ -0,0 +1,165 @@
1
+ import { z } from 'zod';
2
+ export declare const listCodeDocsToolName = "llama_list_code_docs";
3
+ export declare const listCodeDocsToolDescription = "List or search project code docs (technical reference pages for the codebase \u2014 architecture, runbooks, API notes). Distinct from llama_get_user_docs, which returns AG-Llama's own product documentation.";
4
+ export declare const listCodeDocsToolSchema: z.ZodObject<{
5
+ orgSlug: z.ZodOptional<z.ZodString>;
6
+ projectKey: z.ZodOptional<z.ZodString>;
7
+ folderId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
8
+ query: z.ZodOptional<z.ZodString>;
9
+ }, "strip", z.ZodTypeAny, {
10
+ folderId?: string | null | undefined;
11
+ orgSlug?: string | undefined;
12
+ projectKey?: string | undefined;
13
+ query?: string | undefined;
14
+ }, {
15
+ folderId?: string | null | undefined;
16
+ orgSlug?: string | undefined;
17
+ projectKey?: string | undefined;
18
+ query?: string | undefined;
19
+ }>;
20
+ export type ListCodeDocsToolInput = z.infer<typeof listCodeDocsToolSchema>;
21
+ export declare function executeListCodeDocs(input: ListCodeDocsToolInput): Promise<string>;
22
+ export declare const getCodeDocTreeToolName = "llama_get_code_doc_tree";
23
+ export declare const getCodeDocTreeToolDescription = "Get folder/code-doc tree for a project.";
24
+ export declare const getCodeDocTreeToolSchema: z.ZodObject<{
25
+ orgSlug: z.ZodOptional<z.ZodString>;
26
+ projectKey: z.ZodOptional<z.ZodString>;
27
+ }, "strip", z.ZodTypeAny, {
28
+ orgSlug?: string | undefined;
29
+ projectKey?: string | undefined;
30
+ }, {
31
+ orgSlug?: string | undefined;
32
+ projectKey?: string | undefined;
33
+ }>;
34
+ export type GetCodeDocTreeToolInput = z.infer<typeof getCodeDocTreeToolSchema>;
35
+ export declare function executeGetCodeDocTree(input: GetCodeDocTreeToolInput): Promise<string>;
36
+ export declare const getCodeDocToolName = "llama_get_code_doc";
37
+ export declare const getCodeDocToolDescription = "Get code doc content by ID.";
38
+ export declare const getCodeDocToolSchema: z.ZodObject<{
39
+ orgSlug: z.ZodOptional<z.ZodString>;
40
+ projectKey: z.ZodOptional<z.ZodString>;
41
+ docId: z.ZodString;
42
+ }, "strip", z.ZodTypeAny, {
43
+ docId: string;
44
+ orgSlug?: string | undefined;
45
+ projectKey?: string | undefined;
46
+ }, {
47
+ docId: string;
48
+ orgSlug?: string | undefined;
49
+ projectKey?: string | undefined;
50
+ }>;
51
+ export type GetCodeDocToolInput = z.infer<typeof getCodeDocToolSchema>;
52
+ export declare function executeGetCodeDoc(input: GetCodeDocToolInput): Promise<string>;
53
+ export declare const createCodeDocToolName = "llama_create_code_doc";
54
+ export declare const createCodeDocToolDescription = "Create a code doc (technical reference page). Content is sanitized server-side when format is HTML \u2014 do not pre-sanitize.\n\nAuthoring HTML docs (format: \"HTML\"): the content renders in a locked-down sandboxed iframe \u2014 no JavaScript runs and no remote resources load \u2014 and is allowlist-sanitized on save. Write it fully self-contained:\n- Style with an inline <style> block (or inline style=\"\") using real CSS rules. Flexbox, grid, gradients, box-shadow, and @media queries all work. Runtime frameworks like the Tailwind CDN do NOT work: without their generated CSS, utility classes render unstyled/oversized.\n- Stripped on save (do not rely on them): <script> and all on* handlers, <iframe>/<object>/<embed>/<form>, <base>/<meta>, remote stylesheets/<link>, web fonts, and remote CSS url() beacons. javascript:/vbscript: URLs are removed.\n- Allowed tags: structure (div, span, section, article, h1\u2013h6, p, ul/ol/li, pre, code, blockquote, hr, br), tables, <a>, <img>, <style>, and a restricted inline-SVG shape subset. Inline formatting tags (<strong>, <em>, <b>, <i>) are dropped \u2014 use CSS font-weight/font-style instead.\n- Inline SVG icons: use shape tags (svg, g, path, rect, circle, ellipse, line, polyline, polygon, text) with explicit width/height attributes; <foreignObject>, <use>, <image>, and <script> inside SVG are removed.\n- Images: https: or data:image/* sources only (http: and remote fonts/styles are blocked by the iframe CSP).";
55
+ export declare const createCodeDocToolSchema: z.ZodObject<{
56
+ orgSlug: z.ZodOptional<z.ZodString>;
57
+ projectKey: z.ZodOptional<z.ZodString>;
58
+ title: z.ZodString;
59
+ content: z.ZodOptional<z.ZodString>;
60
+ format: z.ZodOptional<z.ZodEnum<["MARKDOWN", "HTML"]>>;
61
+ folderId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
62
+ }, "strip", z.ZodTypeAny, {
63
+ title: string;
64
+ folderId?: string | null | undefined;
65
+ content?: string | undefined;
66
+ orgSlug?: string | undefined;
67
+ projectKey?: string | undefined;
68
+ format?: "MARKDOWN" | "HTML" | undefined;
69
+ }, {
70
+ title: string;
71
+ folderId?: string | null | undefined;
72
+ content?: string | undefined;
73
+ orgSlug?: string | undefined;
74
+ projectKey?: string | undefined;
75
+ format?: "MARKDOWN" | "HTML" | undefined;
76
+ }>;
77
+ export type CreateCodeDocToolInput = z.infer<typeof createCodeDocToolSchema>;
78
+ export declare function executeCreateCodeDoc(input: CreateCodeDocToolInput): Promise<string>;
79
+ export declare const updateCodeDocToolName = "llama_update_code_doc";
80
+ export declare const updateCodeDocToolDescription = "Update code doc content, format, or move to folder. Content is sanitized server-side when the effective format is HTML \u2014 do not pre-sanitize. Pass expectedVersion for optimistic concurrency.\n\nAuthoring HTML docs (format: \"HTML\"): the content renders in a locked-down sandboxed iframe \u2014 no JavaScript runs and no remote resources load \u2014 and is allowlist-sanitized on save. Write it fully self-contained:\n- Style with an inline <style> block (or inline style=\"\") using real CSS rules. Flexbox, grid, gradients, box-shadow, and @media queries all work. Runtime frameworks like the Tailwind CDN do NOT work: without their generated CSS, utility classes render unstyled/oversized.\n- Stripped on save (do not rely on them): <script> and all on* handlers, <iframe>/<object>/<embed>/<form>, <base>/<meta>, remote stylesheets/<link>, web fonts, and remote CSS url() beacons. javascript:/vbscript: URLs are removed.\n- Allowed tags: structure (div, span, section, article, h1\u2013h6, p, ul/ol/li, pre, code, blockquote, hr, br), tables, <a>, <img>, <style>, and a restricted inline-SVG shape subset. Inline formatting tags (<strong>, <em>, <b>, <i>) are dropped \u2014 use CSS font-weight/font-style instead.\n- Inline SVG icons: use shape tags (svg, g, path, rect, circle, ellipse, line, polyline, polygon, text) with explicit width/height attributes; <foreignObject>, <use>, <image>, and <script> inside SVG are removed.\n- Images: https: or data:image/* sources only (http: and remote fonts/styles are blocked by the iframe CSP).";
81
+ export declare const updateCodeDocToolSchema: z.ZodObject<{
82
+ orgSlug: z.ZodOptional<z.ZodString>;
83
+ projectKey: z.ZodOptional<z.ZodString>;
84
+ docId: z.ZodString;
85
+ title: z.ZodOptional<z.ZodString>;
86
+ content: z.ZodOptional<z.ZodString>;
87
+ format: z.ZodOptional<z.ZodEnum<["MARKDOWN", "HTML"]>>;
88
+ folderId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
89
+ expectedVersion: z.ZodOptional<z.ZodNumber>;
90
+ }, "strip", z.ZodTypeAny, {
91
+ docId: string;
92
+ folderId?: string | null | undefined;
93
+ content?: string | undefined;
94
+ orgSlug?: string | undefined;
95
+ projectKey?: string | undefined;
96
+ title?: string | undefined;
97
+ format?: "MARKDOWN" | "HTML" | undefined;
98
+ expectedVersion?: number | undefined;
99
+ }, {
100
+ docId: string;
101
+ folderId?: string | null | undefined;
102
+ content?: string | undefined;
103
+ orgSlug?: string | undefined;
104
+ projectKey?: string | undefined;
105
+ title?: string | undefined;
106
+ format?: "MARKDOWN" | "HTML" | undefined;
107
+ expectedVersion?: number | undefined;
108
+ }>;
109
+ export type UpdateCodeDocToolInput = z.infer<typeof updateCodeDocToolSchema>;
110
+ export declare function executeUpdateCodeDoc(input: UpdateCodeDocToolInput): Promise<string>;
111
+ export declare const deleteCodeDocToolName = "llama_delete_code_doc";
112
+ export declare const deleteCodeDocToolDescription = "Delete a code doc permanently.";
113
+ export declare const deleteCodeDocToolSchema: z.ZodObject<{
114
+ orgSlug: z.ZodOptional<z.ZodString>;
115
+ projectKey: z.ZodOptional<z.ZodString>;
116
+ docId: z.ZodString;
117
+ }, "strip", z.ZodTypeAny, {
118
+ docId: string;
119
+ orgSlug?: string | undefined;
120
+ projectKey?: string | undefined;
121
+ }, {
122
+ docId: string;
123
+ orgSlug?: string | undefined;
124
+ projectKey?: string | undefined;
125
+ }>;
126
+ export type DeleteCodeDocToolInput = z.infer<typeof deleteCodeDocToolSchema>;
127
+ export declare function executeDeleteCodeDoc(input: DeleteCodeDocToolInput): Promise<string>;
128
+ export declare const createCodeDocFolderToolName = "llama_create_code_doc_folder";
129
+ export declare const createCodeDocFolderToolDescription = "Create a folder for code docs.";
130
+ export declare const createCodeDocFolderToolSchema: z.ZodObject<{
131
+ orgSlug: z.ZodOptional<z.ZodString>;
132
+ projectKey: z.ZodOptional<z.ZodString>;
133
+ name: z.ZodString;
134
+ parentId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
135
+ }, "strip", z.ZodTypeAny, {
136
+ name: string;
137
+ parentId?: string | null | undefined;
138
+ orgSlug?: string | undefined;
139
+ projectKey?: string | undefined;
140
+ }, {
141
+ name: string;
142
+ parentId?: string | null | undefined;
143
+ orgSlug?: string | undefined;
144
+ projectKey?: string | undefined;
145
+ }>;
146
+ export type CreateCodeDocFolderToolInput = z.infer<typeof createCodeDocFolderToolSchema>;
147
+ export declare function executeCreateCodeDocFolder(input: CreateCodeDocFolderToolInput): Promise<string>;
148
+ export declare const deleteCodeDocFolderToolName = "llama_delete_code_doc_folder";
149
+ export declare const deleteCodeDocFolderToolDescription = "Delete folder and all contents.";
150
+ export declare const deleteCodeDocFolderToolSchema: z.ZodObject<{
151
+ orgSlug: z.ZodOptional<z.ZodString>;
152
+ projectKey: z.ZodOptional<z.ZodString>;
153
+ folderId: z.ZodString;
154
+ }, "strip", z.ZodTypeAny, {
155
+ folderId: string;
156
+ orgSlug?: string | undefined;
157
+ projectKey?: string | undefined;
158
+ }, {
159
+ folderId: string;
160
+ orgSlug?: string | undefined;
161
+ projectKey?: string | undefined;
162
+ }>;
163
+ export type DeleteCodeDocFolderToolInput = z.infer<typeof deleteCodeDocFolderToolSchema>;
164
+ export declare function executeDeleteCodeDocFolder(input: DeleteCodeDocFolderToolInput): Promise<string>;
165
+ //# sourceMappingURL=codeDocs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codeDocs.d.ts","sourceRoot":"","sources":["../../src/tools/codeDocs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,330 @@
1
+ import { z } from 'zod';
2
+ import { getApiClient, LlamaApiError } from '../api-client.js';
3
+ import { getSessionDefaults } from './session.js';
4
+ async function resolveOrgProject(inputOrgSlug, inputProjectKey) {
5
+ const defaults = await getSessionDefaults();
6
+ const orgSlug = inputOrgSlug ?? defaults?.orgSlug;
7
+ const projectKey = inputProjectKey ?? defaults?.projectKey;
8
+ if (!orgSlug) {
9
+ return { error: 'orgSlug is required. Either provide it or set session context with llama_set_context first.' };
10
+ }
11
+ if (!projectKey) {
12
+ return { error: 'projectKey is required. Either provide it or set session context with llama_set_context first.' };
13
+ }
14
+ return { orgSlug, projectKey };
15
+ }
16
+ function formatError(error, operation) {
17
+ if (error instanceof LlamaApiError) {
18
+ return JSON.stringify({
19
+ success: false,
20
+ error: `Failed to ${operation}: ${error.message}`,
21
+ statusCode: error.statusCode,
22
+ });
23
+ }
24
+ return JSON.stringify({
25
+ success: false,
26
+ error: error instanceof Error ? error.message : 'Unknown error',
27
+ });
28
+ }
29
+ const codeDocFormatSchema = z.enum(['MARKDOWN', 'HTML']);
30
+ // Authoring guidance appended to the create/update tool descriptions. HTML
31
+ // code docs render inside a locked-down sandboxed iframe (no scripts, no
32
+ // remote resources) and are allowlist-sanitized on save, so content that
33
+ // relies on JS or a CDN framework renders broken. These tips steer callers
34
+ // toward self-contained HTML that survives both the sanitizer and the sandbox.
35
+ const HTML_AUTHORING_TIPS = `
36
+
37
+ Authoring HTML docs (format: "HTML"): the content renders in a locked-down sandboxed iframe — no JavaScript runs and no remote resources load — and is allowlist-sanitized on save. Write it fully self-contained:
38
+ - Style with an inline <style> block (or inline style="") using real CSS rules. Flexbox, grid, gradients, box-shadow, and @media queries all work. Runtime frameworks like the Tailwind CDN do NOT work: without their generated CSS, utility classes render unstyled/oversized.
39
+ - Stripped on save (do not rely on them): <script> and all on* handlers, <iframe>/<object>/<embed>/<form>, <base>/<meta>, remote stylesheets/<link>, web fonts, and remote CSS url() beacons. javascript:/vbscript: URLs are removed.
40
+ - Allowed tags: structure (div, span, section, article, h1–h6, p, ul/ol/li, pre, code, blockquote, hr, br), tables, <a>, <img>, <style>, and a restricted inline-SVG shape subset. Inline formatting tags (<strong>, <em>, <b>, <i>) are dropped — use CSS font-weight/font-style instead.
41
+ - Inline SVG icons: use shape tags (svg, g, path, rect, circle, ellipse, line, polyline, polygon, text) with explicit width/height attributes; <foreignObject>, <use>, <image>, and <script> inside SVG are removed.
42
+ - Images: https: or data:image/* sources only (http: and remote fonts/styles are blocked by the iframe CSP).`;
43
+ // ============================================
44
+ // List Code Docs
45
+ // ============================================
46
+ export const listCodeDocsToolName = 'llama_list_code_docs';
47
+ export const listCodeDocsToolDescription = `List or search project code docs (technical reference pages for the codebase — architecture, runbooks, API notes). Distinct from llama_get_user_docs, which returns AG-Llama's own product documentation.`;
48
+ export const listCodeDocsToolSchema = z.object({
49
+ orgSlug: z.string().optional().describe('Org slug (session default)'),
50
+ projectKey: z.string().optional().describe('Project key (session default)'),
51
+ folderId: z.string().nullable().optional().describe('Filter by folder ID (null for root level)'),
52
+ query: z.string().optional().describe('Search query to filter code docs by title'),
53
+ });
54
+ export async function executeListCodeDocs(input) {
55
+ try {
56
+ const context = await resolveOrgProject(input.orgSlug, input.projectKey);
57
+ if ('error' in context) {
58
+ return JSON.stringify({ success: false, error: context.error });
59
+ }
60
+ const client = getApiClient();
61
+ let docs;
62
+ if (input.query) {
63
+ docs = await client.searchCodeDocs(context.orgSlug, context.projectKey, input.query);
64
+ }
65
+ else {
66
+ docs = await client.listCodeDocs(context.orgSlug, context.projectKey, input.folderId);
67
+ }
68
+ const response = {
69
+ success: true,
70
+ count: docs.length,
71
+ docs: docs.map((d) => ({
72
+ id: d.id,
73
+ title: d.title,
74
+ format: d.format,
75
+ folderId: d.folderId,
76
+ version: d.version,
77
+ ...(d.position !== undefined ? { position: d.position } : {}),
78
+ ...(d.createdBy ? { createdBy: d.createdBy.name ?? d.createdBy } : {}),
79
+ updatedAt: d.updatedAt,
80
+ })),
81
+ };
82
+ if (input.query) {
83
+ response.query = input.query;
84
+ }
85
+ return JSON.stringify(response);
86
+ }
87
+ catch (error) {
88
+ return formatError(error, 'list code docs');
89
+ }
90
+ }
91
+ // ============================================
92
+ // Get Code Doc Tree
93
+ // ============================================
94
+ export const getCodeDocTreeToolName = 'llama_get_code_doc_tree';
95
+ export const getCodeDocTreeToolDescription = `Get folder/code-doc tree for a project.`;
96
+ export const getCodeDocTreeToolSchema = z.object({
97
+ orgSlug: z.string().optional().describe('Org slug (session default)'),
98
+ projectKey: z.string().optional().describe('Project key (session default)'),
99
+ });
100
+ export async function executeGetCodeDocTree(input) {
101
+ try {
102
+ const context = await resolveOrgProject(input.orgSlug, input.projectKey);
103
+ if ('error' in context) {
104
+ return JSON.stringify({ success: false, error: context.error });
105
+ }
106
+ const client = getApiClient();
107
+ const tree = await client.getCodeDocTree(context.orgSlug, context.projectKey);
108
+ return JSON.stringify({ success: true, tree });
109
+ }
110
+ catch (error) {
111
+ return formatError(error, 'get code doc tree');
112
+ }
113
+ }
114
+ // ============================================
115
+ // Get Code Doc
116
+ // ============================================
117
+ export const getCodeDocToolName = 'llama_get_code_doc';
118
+ export const getCodeDocToolDescription = `Get code doc content by ID.`;
119
+ export const getCodeDocToolSchema = z.object({
120
+ orgSlug: z.string().optional().describe('Org slug (session default)'),
121
+ projectKey: z.string().optional().describe('Project key (session default)'),
122
+ docId: z.string().describe('Code doc ID'),
123
+ });
124
+ export async function executeGetCodeDoc(input) {
125
+ try {
126
+ const context = await resolveOrgProject(input.orgSlug, input.projectKey);
127
+ if ('error' in context) {
128
+ return JSON.stringify({ success: false, error: context.error });
129
+ }
130
+ const client = getApiClient();
131
+ const doc = await client.getCodeDoc(context.orgSlug, context.projectKey, input.docId);
132
+ return JSON.stringify({
133
+ success: true,
134
+ doc: {
135
+ id: doc.id,
136
+ title: doc.title,
137
+ content: doc.content,
138
+ format: doc.format,
139
+ folderId: doc.folderId,
140
+ version: doc.version,
141
+ position: doc.position,
142
+ createdBy: doc.createdBy,
143
+ lastEditedBy: doc.lastEditedBy,
144
+ createdAt: doc.createdAt,
145
+ updatedAt: doc.updatedAt,
146
+ },
147
+ });
148
+ }
149
+ catch (error) {
150
+ return formatError(error, 'get code doc');
151
+ }
152
+ }
153
+ // ============================================
154
+ // Create Code Doc
155
+ // ============================================
156
+ export const createCodeDocToolName = 'llama_create_code_doc';
157
+ export const createCodeDocToolDescription = `Create a code doc (technical reference page). Content is sanitized server-side when format is HTML — do not pre-sanitize.${HTML_AUTHORING_TIPS}`;
158
+ export const createCodeDocToolSchema = z.object({
159
+ orgSlug: z.string().optional().describe('Org slug (session default)'),
160
+ projectKey: z.string().optional().describe('Project key (session default)'),
161
+ title: z.string().describe('Code doc title'),
162
+ content: z.string().optional().describe('Code doc content (markdown or HTML, matching `format`)'),
163
+ format: codeDocFormatSchema.optional().describe('Content format: MARKDOWN (default) or HTML. HTML renders in a sandboxed iframe — see the authoring rules in this tool\'s description before writing HTML.'),
164
+ folderId: z.string().nullable().optional().describe('Folder ID to place doc in (null for root)'),
165
+ });
166
+ export async function executeCreateCodeDoc(input) {
167
+ try {
168
+ const context = await resolveOrgProject(input.orgSlug, input.projectKey);
169
+ if ('error' in context) {
170
+ return JSON.stringify({ success: false, error: context.error });
171
+ }
172
+ const client = getApiClient();
173
+ const doc = await client.createCodeDoc(context.orgSlug, context.projectKey, {
174
+ title: input.title,
175
+ content: input.content,
176
+ format: input.format,
177
+ folderId: input.folderId,
178
+ });
179
+ return JSON.stringify({
180
+ success: true,
181
+ message: `Created code doc "${doc.title}"`,
182
+ doc: {
183
+ id: doc.id,
184
+ title: doc.title,
185
+ format: doc.format,
186
+ folderId: doc.folderId,
187
+ },
188
+ });
189
+ }
190
+ catch (error) {
191
+ return formatError(error, 'create code doc');
192
+ }
193
+ }
194
+ // ============================================
195
+ // Update Code Doc
196
+ // ============================================
197
+ export const updateCodeDocToolName = 'llama_update_code_doc';
198
+ export const updateCodeDocToolDescription = `Update code doc content, format, or move to folder. Content is sanitized server-side when the effective format is HTML — do not pre-sanitize. Pass expectedVersion for optimistic concurrency.${HTML_AUTHORING_TIPS}`;
199
+ export const updateCodeDocToolSchema = z.object({
200
+ orgSlug: z.string().optional().describe('Org slug (session default)'),
201
+ projectKey: z.string().optional().describe('Project key (session default)'),
202
+ docId: z.string().describe('Code doc ID to update'),
203
+ title: z.string().optional().describe('New title'),
204
+ content: z.string().optional().describe('New content (matching the effective `format`)'),
205
+ format: codeDocFormatSchema.optional().describe('New content format: MARKDOWN or HTML. HTML renders in a sandboxed iframe — see the authoring rules in this tool\'s description before writing HTML.'),
206
+ folderId: z.string().nullable().optional().describe('Move to folder (null for root)'),
207
+ expectedVersion: z.number().int().optional().describe('Current known version, for optimistic concurrency checks'),
208
+ });
209
+ export async function executeUpdateCodeDoc(input) {
210
+ try {
211
+ const context = await resolveOrgProject(input.orgSlug, input.projectKey);
212
+ if ('error' in context) {
213
+ return JSON.stringify({ success: false, error: context.error });
214
+ }
215
+ const client = getApiClient();
216
+ const doc = await client.updateCodeDoc(context.orgSlug, context.projectKey, input.docId, {
217
+ title: input.title,
218
+ content: input.content,
219
+ format: input.format,
220
+ folderId: input.folderId,
221
+ expectedVersion: input.expectedVersion,
222
+ });
223
+ return JSON.stringify({
224
+ success: true,
225
+ message: `Updated code doc "${doc.title}"`,
226
+ doc: {
227
+ id: doc.id,
228
+ title: doc.title,
229
+ format: doc.format,
230
+ folderId: doc.folderId,
231
+ version: doc.version,
232
+ updatedAt: doc.updatedAt,
233
+ },
234
+ });
235
+ }
236
+ catch (error) {
237
+ return formatError(error, 'update code doc');
238
+ }
239
+ }
240
+ // ============================================
241
+ // Delete Code Doc
242
+ // ============================================
243
+ export const deleteCodeDocToolName = 'llama_delete_code_doc';
244
+ export const deleteCodeDocToolDescription = `Delete a code doc permanently.`;
245
+ export const deleteCodeDocToolSchema = z.object({
246
+ orgSlug: z.string().optional().describe('Org slug (session default)'),
247
+ projectKey: z.string().optional().describe('Project key (session default)'),
248
+ docId: z.string().describe('Code doc ID to delete'),
249
+ });
250
+ export async function executeDeleteCodeDoc(input) {
251
+ try {
252
+ const context = await resolveOrgProject(input.orgSlug, input.projectKey);
253
+ if ('error' in context) {
254
+ return JSON.stringify({ success: false, error: context.error });
255
+ }
256
+ const client = getApiClient();
257
+ await client.deleteCodeDoc(context.orgSlug, context.projectKey, input.docId);
258
+ return JSON.stringify({
259
+ success: true,
260
+ message: `Deleted code doc ${input.docId}`,
261
+ });
262
+ }
263
+ catch (error) {
264
+ return formatError(error, 'delete code doc');
265
+ }
266
+ }
267
+ // ============================================
268
+ // Create Code Doc Folder
269
+ // ============================================
270
+ export const createCodeDocFolderToolName = 'llama_create_code_doc_folder';
271
+ export const createCodeDocFolderToolDescription = `Create a folder for code docs.`;
272
+ export const createCodeDocFolderToolSchema = z.object({
273
+ orgSlug: z.string().optional().describe('Org slug (session default)'),
274
+ projectKey: z.string().optional().describe('Project key (session default)'),
275
+ name: z.string().describe('Folder name'),
276
+ parentId: z.string().nullable().optional().describe('Parent folder ID (null for root)'),
277
+ });
278
+ export async function executeCreateCodeDocFolder(input) {
279
+ try {
280
+ const context = await resolveOrgProject(input.orgSlug, input.projectKey);
281
+ if ('error' in context) {
282
+ return JSON.stringify({ success: false, error: context.error });
283
+ }
284
+ const client = getApiClient();
285
+ const folder = await client.createCodeDocFolder(context.orgSlug, context.projectKey, {
286
+ name: input.name,
287
+ parentId: input.parentId,
288
+ });
289
+ return JSON.stringify({
290
+ success: true,
291
+ message: `Created folder "${folder.name}"`,
292
+ folder: {
293
+ id: folder.id,
294
+ name: folder.name,
295
+ parentId: folder.parentId,
296
+ },
297
+ });
298
+ }
299
+ catch (error) {
300
+ return formatError(error, 'create folder');
301
+ }
302
+ }
303
+ // ============================================
304
+ // Delete Code Doc Folder
305
+ // ============================================
306
+ export const deleteCodeDocFolderToolName = 'llama_delete_code_doc_folder';
307
+ export const deleteCodeDocFolderToolDescription = `Delete folder and all contents.`;
308
+ export const deleteCodeDocFolderToolSchema = z.object({
309
+ orgSlug: z.string().optional().describe('Org slug (session default)'),
310
+ projectKey: z.string().optional().describe('Project key (session default)'),
311
+ folderId: z.string().describe('Folder ID to delete'),
312
+ });
313
+ export async function executeDeleteCodeDocFolder(input) {
314
+ try {
315
+ const context = await resolveOrgProject(input.orgSlug, input.projectKey);
316
+ if ('error' in context) {
317
+ return JSON.stringify({ success: false, error: context.error });
318
+ }
319
+ const client = getApiClient();
320
+ await client.deleteCodeDocFolder(context.orgSlug, context.projectKey, input.folderId);
321
+ return JSON.stringify({
322
+ success: true,
323
+ message: `Deleted folder ${input.folderId} and all contents`,
324
+ });
325
+ }
326
+ catch (error) {
327
+ return formatError(error, 'delete folder');
328
+ }
329
+ }
330
+ //# sourceMappingURL=codeDocs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codeDocs.js","sourceRoot":"","sources":["../../src/tools/codeDocs.ts"],"names":[],"mappings":"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"}
@@ -122,8 +122,8 @@ export async function executeContext(input) {
122
122
  })),
123
123
  },
124
124
  members: context.members,
125
- workflows: {
126
- hint: "Use llama_suggest_workflow('your task') to find saved procedures for common tasks",
125
+ procedures: {
126
+ hint: 'Use llama_list_skills to find multi-step procedures (skills), and llama_list_prompts / llama_run_prompt for reusable prompt payloads.',
127
127
  },
128
128
  };
129
129
  // Add technical sprints info if enabled
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/tools/context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/tools/context.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import { z } from 'zod';
2
+ export declare const epicSignOffToolName = "llama_epic_sign_off";
3
+ export declare const epicSignOffToolDescription = "QA sign-off an Epic after all stories pass testing. Records the sign-off timestamp, optional note, and optional override reason on the Epic. Records the QA sign-off (`qaSignedOffAt`); the Epic's lifecycle is derived as COMPLETE from the sign-off. An override (when open items remain) is distinguished by a non-null qaOverrideReason field, not a separate lifecycle value.";
4
+ export declare const epicSignOffToolSchema: z.ZodObject<{
5
+ orgSlug: z.ZodOptional<z.ZodString>;
6
+ projectKey: z.ZodOptional<z.ZodString>;
7
+ epicKey: z.ZodString;
8
+ note: z.ZodOptional<z.ZodString>;
9
+ overrideReason: z.ZodOptional<z.ZodString>;
10
+ }, "strip", z.ZodTypeAny, {
11
+ epicKey: string;
12
+ orgSlug?: string | undefined;
13
+ projectKey?: string | undefined;
14
+ note?: string | undefined;
15
+ overrideReason?: string | undefined;
16
+ }, {
17
+ epicKey: string;
18
+ orgSlug?: string | undefined;
19
+ projectKey?: string | undefined;
20
+ note?: string | undefined;
21
+ overrideReason?: string | undefined;
22
+ }>;
23
+ export type EpicSignOffToolInput = z.infer<typeof epicSignOffToolSchema>;
24
+ export declare function executeEpicSignOff(input: EpicSignOffToolInput): Promise<string>;
25
+ //# sourceMappingURL=epicSignOff.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"epicSignOff.d.ts","sourceRoot":"","sources":["../../src/tools/epicSignOff.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAQxB,eAAO,MAAM,mBAAmB,wBAAwB,CAAC;AAEzD,eAAO,MAAM,0BAA0B,uXAAyX,CAAC;AAEja,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;EAkBhC,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEzE,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,oBAAoB,GAC1B,OAAO,CAAC,MAAM,CAAC,CAoEjB"}