@decaf-ts/mcp-server 1.5.1 → 1.5.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 (45) hide show
  1. package/dist/assets/code/patterns/builder.enc +0 -0
  2. package/dist/assets/prompts/agent/agent.enc +0 -0
  3. package/dist/assets/prompts/agent/init.enc +0 -0
  4. package/dist/assets/prompts/constitution_commands.enc +0 -0
  5. package/dist/assets/prompts/documentation/class.enc +0 -0
  6. package/dist/assets/prompts/documentation/constant.enc +0 -0
  7. package/dist/assets/prompts/documentation/decorator.enc +0 -0
  8. package/dist/assets/prompts/documentation/file.enc +0 -0
  9. package/dist/assets/prompts/documentation/function.enc +0 -0
  10. package/dist/assets/prompts/documentation/interface.enc +0 -0
  11. package/dist/assets/prompts/documentation/iterate.enc +0 -0
  12. package/dist/assets/prompts/documentation/module.enc +0 -0
  13. package/dist/assets/prompts/documentation/prefix.enc +0 -0
  14. package/dist/assets/prompts/documentation/repo.enc +0 -0
  15. package/dist/assets/prompts/documentation/suffix.enc +0 -0
  16. package/dist/assets/prompts/git_commands.enc +0 -0
  17. package/dist/assets/prompts/jira/operational_prompts.enc +0 -0
  18. package/dist/assets/prompts/jira/system_prompt.enc +0 -0
  19. package/dist/assets/prompts/mode_commands.enc +0 -0
  20. package/dist/assets/prompts/plan_commands.enc +0 -0
  21. package/dist/assets/prompts/repository/readme.enc +0 -0
  22. package/dist/assets/prompts/repository/release_notes.enc +0 -0
  23. package/dist/assets/prompts/repository/setup.enc +0 -0
  24. package/dist/assets/prompts/specification_commands.enc +0 -0
  25. package/dist/assets/prompts/startup_command.enc +0 -0
  26. package/dist/assets/prompts/task_commands.enc +0 -0
  27. package/dist/assets/prompts/tests/coverage.enc +0 -0
  28. package/dist/assets/templates/AGENTS.enc +0 -0
  29. package/dist/assets/templates/agents_template.enc +0 -0
  30. package/dist/assets/templates/constitution_template.enc +0 -0
  31. package/dist/assets/templates/decaf/context/logCtx.enc +0 -0
  32. package/dist/assets/templates/decaf/services/client_based_service.enc +0 -0
  33. package/dist/assets/templates/decaf/services/model_service.enc +0 -0
  34. package/dist/assets/templates/decaf/services/service.enc +0 -0
  35. package/dist/assets/templates/decaf_guidelines.enc +0 -0
  36. package/dist/assets/templates/instructions_template.enc +0 -0
  37. package/dist/assets/templates/jira_templates.enc +0 -0
  38. package/dist/assets/templates/plan_template.enc +0 -0
  39. package/dist/assets/templates/specification_template.enc +0 -0
  40. package/dist/assets/templates/task_template.enc +0 -0
  41. package/dist/mcp-server.cjs +1 -1
  42. package/dist/mcp-server.cjs.map +1 -1
  43. package/dist/mcp-server.js +1 -1
  44. package/dist/mcp-server.js.map +1 -1
  45. package/package.json +1 -1
@@ -1,2 +1,2 @@
1
- import{Command as t}from"commander";import*as e from"fs";import r,{promises as s}from"fs";import{MiniLogger as n,NumericLogLevels as i,Logging as o,LoggedClass as a,toSnakeCase as c,sf as p,toPascalCase as l,LogLevel as u,LoggedEnvironment as d}from"@decaf-ts/logging";import{__decorate as m,__metadata as h}from"tslib";import{required as f,Model as y,list as g,minlength as b}from"@decaf-ts/decorator-validation";import{z as v,ZodObject as w}from"zod";import{injectable as S,inject as j}from"@decaf-ts/injectable-decorators";import{prop as x,Metadata as I}from"@decaf-ts/decoration";import*as k from"path";import A from"path";import{InternalError as E,SerializationError as T,ValidationError as O}from"@decaf-ts/db-decorators";import N from"crypto";import C from"zlib";import{fileURLToPath as H}from"url";import{unified as J}from"unified";import _ from"remark-directive";import $ from"remark-gfm";import D from"remark-parse";import{UriTemplate as P}from"@modelcontextprotocol/sdk/shared/uriTemplate.js";import{ResourceTemplate as R,McpServer as M}from"@modelcontextprotocol/sdk/server/mcp.js";import{v4 as q}from"uuid";import{StdioServerTransport as B}from"@modelcontextprotocol/sdk/server/stdio.js";import{StreamableHTTPServerTransport as F}from"@modelcontextprotocol/sdk/server/streamableHttp.js";class W extends n{constructor(t,e,r){super(t,e,r)}log(t,e,r,s){const n=this.config("level");i[n],i[t]}}const L=(t,e,...r)=>{const s=(t=>{if("string"==typeof t)return t;if(!t)return"unknown";if("function"==typeof t)return t.name||"unknown";if("object"==typeof t&&"constructor"in t){const e=t.constructor;if(e&&e.name)return e.name}return"unknown"})(t);return new W(s,e)};var U,K,z,Y,G;(t=>{t[t.NONE=0]="NONE",t[t.BASIC=1]="BASIC",t[t.ADVANCED=2]="ADVANCED",t[t.HIGH=3]="HIGH"})(U||(U={})),(t=>{t[t.NONE=0]="NONE",t[t.LOW=1]="LOW",t[t.MEDIUM=2]="MEDIUM",t[t.HIGH=3]="HIGH"})(K||(K={})),(t=>{t[t.FREE=0]="FREE",t[t.LOW=1]="LOW",t[t.MEDIUM=2]="MEDIUM",t[t.HIGH=3]="HIGH"})(z||(z={}));class Z extends y{get log(){return this._log||(this._log=o.for(this)),this._log}constructor(t){super(t)}logFor(t){const{sessionId:e,requestId:r,authInfo:s}=t||{};let n="string"==typeof e&&e.length>0?this.log.for(e):this.log;return s&&s.clientId&&(n=n.for(s.clientId)),r&&(n=n.for(r.toString())),n}setDescription(t){return this.description=t,this}getDescription(){return this.description}setName(t){return this.name=t,this}getName(){return this.name}setTitle(t){return this.title=t,this}}m([f(),h("design:type",String)],Z.prototype,"description",void 0),m([f(),h("design:type",String)],Z.prototype,"name",void 0),m([f(),h("design:type",String)],Z.prototype,"title",void 0);class V extends Z{constructor(t){super(t),this.reasoning=U.NONE,this.effort=K.NONE,this.cost=z.FREE}setReasoning(t){return this.reasoning=t,this}setEffort(t){return this.effort=t,this}setCost(t){return this.cost=t,this}}function Q(t){if(!t)return;let e=t,r=e&&e._def;for(;r&&"ZodObject"!==r.typeName;){if("ZodEffects"===r.typeName&&r.schema)e=r.schema;else if("ZodOptional"===r.typeName&&r.innerType)e=r.innerType;else if("ZodDefault"===r.typeName&&r.innerType)e=r.innerType;else if("ZodNullable"===r.typeName&&r.innerType)e=r.innerType;else{if(!r.schema)return;e=r.schema}r=e&&e._def}return r&&"ZodObject"===r.typeName?r:void 0}function X(t,e="schema"){if(Q(t))return t;if(t&&"object"==typeof t){const e=t.def&&"object"==typeof t.def?t.def:void 0,r=e&&(e.shape||"object"===e.type)&&e.shape||("object"===t.type?t.shape:void 0)||(e&&"object"===e.type?{}:void 0);if(e||"object"===t.type||r){const t={};if(r&&"object"==typeof r)for(const[e,s]of Object.entries(r))t[e]=et(s)?s:v.any();return v.object(t)}}throw Error(`Registration error: provided a non-canonical ${e}. Export a ZodObject (z.object(...)).`)}function tt(t){if(!t)return;if(t&&"object"==typeof t&&!t._def)return t.def&&"object"==typeof t.def&&t.def.shape?t.def.shape:t;const e=Q(t);return e?"function"==typeof e.shape?e.shape():e.shape||void 0:void 0}function et(t){return!(!t||"object"!=typeof t||!t._def)}m([f(),h("design:type",Number)],V.prototype,"reasoning",void 0),m([f(),h("design:type",Number)],V.prototype,"effort",void 0),m([f(),h("design:type",Number)],V.prototype,"cost",void 0),(t=>{t.ASSETS="assets"})(Y||(Y={})),(t=>{t.PROMPT="prompts",t.DOCUMENTATION="documentation",t.CODE="code"})(G||(G={}));const rt=Buffer.from("DCAF1","ascii");function st(t){let e=A.resolve(t);for(;;){if(r.existsSync(A.join(e,"package.json")))return e;const t=A.dirname(e);if(t===e)break;e=t}}const nt=process.argv?.[1]?st(A.dirname(A.resolve(process.argv[1]))):void 0,it=(()=>{const t=Error().stack;if(!t)return;const e=t.split(/\r?\n/).slice(1);for(const t of e){const e=t.match(/\(?([^()]+?):\d+:\d+\)?/);if(!e)continue;let r=e[1];if(r.startsWith("file://"))try{r=H(r)}catch{continue}if(!r.includes("node:internal"))return A.dirname(r)}})(),ot=it?st(it):void 0,at=nt??ot??process.cwd();function ct(...t){return A.join(at,...t)}function pt(t){let r=t;for(;;){const t=k.join(r,"lib","assets");if(e.existsSync(t))return t;const s=k.join(r,"src","assets");if(e.existsSync(s))return s;const n=k.join(r,"assets");if(e.existsSync(n))return n;const i=k.dirname(r);if(i===r)break;r=i}}function lt(){const t=process.env.DECAF_ASSET_DIR||process.env.MCP_ASSET_DIR||process.env.ASSET_DIR||"";if(t&&e.existsSync(t))return t;const r=pt(__dirname);if(r)return r;const s=process.argv?.[1];if(s){const t=pt(k.dirname(s));if(t)return t}const n=[at,process.env.INIT_CWD].filter(Boolean);for(const t of n){const e=pt(t);if(e)return e}return ct("assets")}let ut=class extends a{constructor(t){super(),this.basePath=t||lt()}listAssets(...t){const r=k.join(this.basePath,...t);return e.readdirSync(r)}listPrompts(){return this.listAssets(G.PROMPT)}getAsset(t,r="md",...s){const n=k.join(this.basePath,...s),i=(t,r=!1)=>{try{return r?(t=>{if(t.length<rt.length+16+12+16)throw Error("Invalid prompt payload (too short)");if(!t.subarray(0,rt.length).equals(rt))throw Error("Invalid prompt payload (bad magic)");const e=process.env.ENCRYPTION_KEY||"";if(!e)throw Error("Missing encryption key. Set ENCRYPTION_KEY to load obfuscated assets.");let r=rt.length;const s=t.subarray(r,r+16);r+=16;const n=t.subarray(r,r+12);r+=12;const i=t.subarray(r,r+16);r+=16;const o=t.subarray(r),a=((t,e)=>N.scryptSync(t,e,32))(e,s),c=N.createDecipheriv("aes-256-gcm",a,n);c.setAuthTag(i);const p=Buffer.concat([c.update(o),c.final()]);return C.gunzipSync(p)})(e.readFileSync(t)).toString("utf-8"):e.readFileSync(t,"utf-8")}catch(t){if("ENOENT"===t.code)return null;throw t}},o=i(k.join(n,`${t}.${r}`),"enc"===r);if(null!==o)return o;const a=i(k.join(n,t+".enc"),!0);if(null!==a)return a;throw Error("Asset not found: "+k.join(n,`${t}.${r}`))}getAllAssets(t,...e){return this.listAssets(t,...e).reduce((r,s)=>{const n=k.extname(s),i=k.basename(s,n),o=n.replace(/^\./,"")||void 0;return r[i]=this.getAsset(i,o??void 0,t,...e),r},{})}toPromptDef(t){const e=t=>"number"==typeof t?t:"string"==typeof t?(t=>{switch(t){case"none":return U.NONE;case"basic":return U.BASIC;case"advanced":return U.ADVANCED;case"high":return U.HIGH;case"medium":return K.MEDIUM;case"low":return z.LOW;case"free":return z.FREE;default:throw new E("Cannon convert unknown level "+t)}})(t.toLowerCase()):U.NONE;return t.effort=e(t.effort),t.reasoning=e(t.reasoning),t.cost=e(t.cost),t}getPrompt(t,...e){const r=this.getAsset(c(t),"json",G.PROMPT,...e);let s;try{s=JSON.parse(r)}catch(r){throw new T(`Failed to parse prompt ${t} in categories ${e}: ${r}`)}return this.toPromptDef(s)}getAllPrompts(...t){const e=this.getAllAssets(G.PROMPT,...t);return Object.entries(e).reduce((e,[r,s])=>{try{e[r]=JSON.parse(s)}catch(e){throw new T(`Failed to parse prompt ${r} in categories ${t}: ${e}`)}return e},e)}};ut=m([S(),h("design:paramtypes",[String])],ut);class dt extends V{constructor(t){super(t)}setCb(t){return this.cb=t,this}setArgsSchema(t){return this.argsSchema=t,this}static get builder(){return new dt}static patchPrompt(t,e,r,s){const n=(e=Array.isArray(e)?e:Object.keys(e)).filter(t=>!Object.prototype.hasOwnProperty.call(r,t));if(n.length)throw new O("Missing replacements for placeholders: "+n.join(", "));s&&(s.verbose("Patching prompt with placeholders: "+JSON.stringify(e)),s.debug("Values: "+JSON.stringify(r)));const i=e.reduce((t,e)=>(t[e]=r[e],t),{});return p(t,i)}patchPrompt(t,e,r,s){return dt.patchPrompt(t,e,r,s||this.log.for(this.patchPrompt))}build(t,e){const r=this.log.for(this.build),s=this.hasErrors();if(s)throw new O(s.toString());try{this.argsSchema&&X(this.argsSchema,"argsSchema");const r=tt(this.argsSchema);return t.registerPrompt(this.name,{title:this.title,description:this.description,argsSchema:r},async(t,r)=>{const s=this.logFor(r);t=Object.assign({},e,t||{}),s.verbose(`Executing prompt ${this.name} with args: ${JSON.stringify(t)}`),t._meta=Object.assign(t._meta||{},{usage:{reasoning:this.reasoning,effort:this.effort,cost:this.cost}});const n=await Promise.resolve(this.cb(t,r));return s.verbose(`Prompt ${this.name} executed successfully.`),s.debug("Prompt execution meta: "+JSON.stringify(n._meta)),n})}catch(t){throw r.error("Failed to register prompt "+(this.name||this.constructor.name),t),t}}}m([j(ut),h("design:type",ut)],dt.prototype,"assets",void 0),m([f(),h("design:type",Object)],dt.prototype,"cb",void 0),m([f(),h("design:type",w)],dt.prototype,"argsSchema",void 0),m([x(),h("design:type",Object)],dt.prototype,"placeholders",void 0);class mt extends dt{setCategory(t){return this.promptCategory=t,this}addPrefix(t){return this.prefixes=this.prefixes||[],this.prefixes.push(t),this}addSuffix(t){return this.suffixes=this.suffixes||[],this.suffixes.push(t),this}constructor(t){super(t)}build(t){const e=this.assets.getPrompt(this.name,this.promptCategory);y.fromObject(this,e);const r=new Set((I.properties(mt)||[]).filter(t=>!["assets","promptCategory","prefixes","suffixes"].includes(t)));["cb","argsSchema"].forEach(t=>r.add(t));const s=this.hasErrors(...Array.from(r));if(s)throw new O(s.toString());const n=(this.prefixes||[]).map(t=>this.assets.getPrompt(t,this.promptCategory)),i=(this.suffixes||[]).map(t=>this.assets.getPrompt(t,this.promptCategory)),o=[...new Set([...e.placeholders,...n.map(t=>t.placeholders||[]),...i.map(t=>t.placeholders||[])].flat())].reduce((t,e)=>(t[e]=v.string().describe("The description for "+e),t),{});return this.setArgsSchema(v.object(o)),this.setCb((t,e)=>{const r=this.logFor(e).for(mt).for(this.promptCategory).for(this.name);function s(t=[]){return Array.isArray(t)?t:Object.keys(t)}const n=(this.prefixes||[]).map(t=>this.assets.getPrompt(t,this.promptCategory)),i=(this.suffixes||[]).map(t=>this.assets.getPrompt(t,this.promptCategory)),o=this.assets.getPrompt(this.name,this.promptCategory),a=[...new Set([...n.map(t=>s(t.placeholders)).flat(),...i.map(t=>s(t.placeholders)).flat(),...s(o.placeholders).flat()])];return{messages:[{role:"user",content:{type:"text",text:this.patchPrompt([...n.map(t=>t.prompt),o.prompt,...i.map(t=>t.prompt)].join("\n\n"),a,t,r)}}],_meta:{}}}),super.build(t)}setReasoning(t){throw new E("Named prompt builders don't require callback")}setEffort(t){throw new E("Named prompt builders don't require callback")}setCost(t){throw new E("Named prompt builders don't require callback")}setDescription(t){throw new E("Named prompt builders don't require callback")}setTitle(t){throw new E("Named prompt builders don't require callback")}static get builder(){return new mt}}m([f(),h("design:type",String)],mt.prototype,"promptCategory",void 0),m([g(String),b(1),h("design:type",Array)],mt.prototype,"prefixes",void 0),m([b(1),g(String),h("design:type",Array)],mt.prototype,"suffixes",void 0);const ht=dt.builder.setName("example-prompt").setTitle("Example prompt").setDescription("Example prompt for testing").setArgsSchema(v.object({message:v.string().optional()})).setCb(async t=>{const e=t.message??"default";return{messages:[{role:"assistant",content:{type:"text",text:e}}],content:[],structuredContent:{message:e},result:{message:e}}}),ft=dt.builder.setName("interactive-jsdoc").setTitle("Interactive JSDoc prompt").setDescription("Interactive prompt for jogging JSDoc helpers").setArgsSchema(v.object({gist:v.string().optional()})).setCb(async t=>{const e=t.gist??"interactive jsdoc response";return{messages:[{role:"assistant",content:{type:"text",text:e}}],content:[],structuredContent:{message:e},result:{message:e}}}),yt=Object.assign(ft,{name:ft.getName()});var gt;function bt(t,e=[],r=[]){const s=mt.builder.setCategory(gt.DOCS).setName(t);return["prefix",...e].forEach(t=>s.addPrefix(t)),["suffix",...r].forEach(t=>s.addSuffix(t)),s}(t=>{t.DOCS="documentation",t.CODE="code"})(gt||(gt={}));const vt=[bt("class"),bt("constant"),bt("decorator"),bt("function"),bt("module"),bt("file"),bt("repo",[],["iterate"])],wt=v.object({className:v.string().describe("the class name to turn into a builder")}),St=[ht,yt,...vt,dt.builder.setName("ts-code-dp-builder").setTitle("Typescript builder design patter prompt").setDescription("for a class, with a defined set of properties, scafold a builder design pattern").setArgsSchema(wt).setReasoning(U.BASIC).setCb((t,e)=>(t.className=l(t.className),{messages:[{role:"user",content:{type:"text",text:`You're a senior TypeScript developer writing typescript code.You're a senior TypeScript developer writing typescript code.\nTransform the selected class into a builder design pattern implementation in Typescript.\nuse @decaf-ts validation decorators to enforce the validation of your builder.\n\n- must extend the Model Class from @decaf-ts/decorator-validation;\n- each property must be marked as protected;\n- each property must have a setter method that returns 'this' for chaining;\n- the build() method must validate the properties using hasErrors() method from Model class;\n- if validation fails, throw an error with the validation errors;\n- if validation passes, return an instance of the original class with the set properties;\n- optionally (but do so by default) add the static builder and from methods from the example;\n- if the clasee already follows the pattern but has properties without decoration or without setters, simple add them;\n\nexample:\n\noriginal class:\n\`\`\`typescript\nexport class ${t.className} {\n description!: string;\n name!: string = "default name";\n title!: string;\n age?: string;\n dateOfBirth!: Date;\n}}\n\`\`\` \n\nresulting builder pattern implementation:\n\`\`\`typescript\nexport class ${t.className}Builder extends Model {\n\n @minlength(10\n @required()\n protected description!: string;\n \n @required()\n protected name!: string = "default value;\n \n @required()\n protected title!: string;\n \n @min(18)\n protected age?: string;\n \n @date()\n protected dateOfBirth!: Date;\n\n protected constructor(arg?: ModelArg<${t.className}Builder>>) {\n super(arg);\n Model.fromModel(this, arg);\n }\n\n setDescription(value: string) {\n this.description = value;\n return this;\n }\n\n setName(value: string) {\n this.name = value;\n return this;\n }\n\n setTitle(value: string) {\n this.title = value;\n return this;\n }\n setAge(value: number) {\n this.age = value;\n return this;\n }\n setDate(value: Date) {\n this.age = value;\n return this;\n }\n \n build(...args: any[]): ${t.className}Builder | Promise<${t.className}Builder> {\n const errs = this.hasErrors();\n if (errs) throw new Error(errs.toString());\n \n return // code that builds OBJ here\n }\n \n static get builder(): ${t.className}Builder {\n return new ${t.className}Builder(); // static method to get a new builder instance\n }\n \n static from<K extends keyof ${t.className}Builder>(obj: K, ${t.className}Builder[K]): ${t.className}Builder {\n return new ${t.className}Builder(); // static method to create a builder from an object\n }\n}\n\`\`\` \n\n`}}],_meta:{}}))];class jt extends V{setAnnotations(t){return this.annotations=Object.assign(this.annotations,t),this}setCb(t){return this.cb=t,this}setInputSchema(t){return this.inputSchema=t,this}setOutputSchema(t){return this.outputSchema=t,this}constructor(t){super(t),this.annotations={readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1}}static get builder(){return new jt}build(t){const e=this.hasErrors();if(e)throw Error(e.toString());try{this.inputSchema&&X(this.inputSchema,"inputSchema"),this.outputSchema&&X(this.outputSchema,"outputSchema");const e=tt(this.inputSchema),r=tt(this.outputSchema);return t.registerTool(this.name,{title:this.title,description:this.description,inputSchema:e,outputSchema:r,annotations:this.annotations,_meta:{usage:{reasoning:this.reasoning,effort:this.effort,cost:this.cost}}},async(t,e)=>{const r=this.logFor(e);r.verbose(`Executing tool ${this.name} with args: ${JSON.stringify(t)}`),e._meta=Object.assign(e._meta||{},{usage:{reasoning:this.reasoning,effort:this.effort,cost:this.cost}});const s=await Promise.resolve(this.cb(t,e));return r.verbose(`Tool ${this.name} executed successfully.`),r.debug("Tool execution meta: "+JSON.stringify(s._meta)),s})}catch(t){const e=t?.message||t+"";if("string"==typeof e&&e.includes("already registered"))return o.for(this).warn(`Tool ${this.name} already registered - skipping duplicate registration`),{name:this.name};throw o.for(this).error("Error building tool",t),t}}}m([f(),h("design:type",Object)],jt.prototype,"annotations",void 0),m([f(),h("design:type",Object)],jt.prototype,"cb",void 0),m([f(),h("design:type",Function)],jt.prototype,"inputSchema",void 0);const xt=jt.builder.setName("example-tool").setTitle("Example tool").setDescription("A smoke tool used for quick testing").setInputSchema(v.object({})).setCb(async()=>({content:[{type:"text",text:"example tool ok"}],result:{status:"ok"}}));Object.assign(xt,{name:xt.getName()});const It=jt.builder.setName("file-summarizer").setTitle("File summarizer").setDescription("Summaries files for quick previews").setInputSchema(v.object({filePath:v.string().optional()})).setCb(async()=>({content:[{type:"text",text:"file summary stub"}],result:{summary:"file summary stub"}}));function kt(){try{let t=process.argv[1]?A.dirname(A.resolve(process.argv[1])):process.cwd();for(;;){const e=A.join(t,"package.json");if(r.existsSync(e))return JSON.parse(r.readFileSync(e,"utf-8"));const s=A.dirname(t);if(s===t)break;t=s}}catch{}return{}}Object.assign(It,{name:It.getName()});const At=kt().version??"0.0.0",Et=kt().name??"unknown";I.registerLibrary(Et,At);const Tt={mcpId:"decaf",name:"decaf-ts mcp server",title:"Decaf-TS MCP Server",description:"Provides precise coding assistance for the decaf-ts framework",version:At,websiteUrl:"https://decaf-ts.github.io",repositoryUrl:"https://github.com/decaf-ts/mcp-server",license:"AGPL-3.0",workingDir:at,assetDir:lt(),contacts:[{name:"Decaf-TS",url:"https://decaf-ts.github.io"}],tags:"server,official,decaf-ts",metadata:{},icons:[{src:"workdocs/assets/favicon.svg",mimeType:"image/svg+xml",sizes:"any"}],jira:{host:process.env.JIRA__HOST||"decaf-ts.atlassian.net",email:process.env.JIRA__EMAIL||"",apiKey:process.env.JIRA__API_KEY||process.env.JIRA__APIKEY||"",projectKey:process.env.JIRA__PROJECT_KEY||void 0,issueType:process.env.JIRA__ISSUE_TYPE||void 0,parentIssue:process.env.JIRA__PARENT_ISSUE||void 0},level:u.error},Ot=d.accumulate(Tt);function Nt(){const{host:t,email:e,apiKey:r,projectKey:s,issueType:n}=Ot.jira;return{host:t?.trim(),email:e?.trim(),apiKey:r?.trim(),projectKey:s?.trim(),issueType:n?.trim(),parentIssue:Ot.jira.parentIssue?.trim()}}function Ct(){const t=Nt();return[{name:"JIRA__HOST",required:!0,description:"Atlassian host (e.g. decaf-ts.atlassian.net) where your Jira instance is hosted.",value:t.host},{name:"JIRA__EMAIL",required:!0,description:"Email address of the Jira account that has API access.",value:t.email},{name:"JIRA__API_KEY",required:!0,description:"API token created in your Atlassian profile (a.k.a. APIKEY alias) for authenticating requests.",sensitive:!0,value:t.apiKey},{name:"JIRA__PROJECT_KEY",required:!1,description:"Default Jira project key (e.g. DECAF) used when an issue creation request omits a project.",value:t.projectKey},{name:"JIRA__ISSUE_TYPE",required:!1,description:"Default Jira issue type (e.g. Task, Bug) used when creating issues without an explicit type.",value:t.issueType},{name:"JIRA__PARENT_ISSUE",required:!1,description:"Default parent issue key (e.g. DECAF-123) applied when a child issue is created without an explicit parent.",value:t.parentIssue}]}function Ht(t){const e=t.value?((t,e)=>{if(t)return e?"<configured>":t})(t.value,t.sensitive):"not set",r=t.required?"(required)":"(optional)";return`\u2022 ${t.name} ${r}: ${t.description} Current state: ${e}.`}o.setConfig(Ot);class Jt extends Error{constructor(t){const e=Ct(),r=(t=>{const e=Ct();return`${t.length?`Missing Jira credentials: ${t.map(t=>t.name).join(", ")}.`:"Jira credentials are configured."}\n\nThis setup uses the following environment variables:\n${e.map(Ht).join("\n")}`})(t);super(r),this.name="MissingJiraEnvironmentError",this.descriptors=e,this.missing=t,"function"==typeof Error.captureStackTrace&&Error.captureStackTrace(this,Jt)}}function _t(t){if(!t)return{code:"jira_error",message:"Unknown Jira error",details:{raw:t}};const e=t?.status??t?.statusCode??t?.response?.status??t?.response?.statusCode,r="number"==typeof e?e:Number(e)||void 0,s=t?.response?.data??t?.data??t?.response?.body??t?.body,n=[];"string"==typeof t?.message&&n.push(t.message),((t,e)=>{t&&(Array.isArray(t.errorMessages)&&t.errorMessages.forEach(t=>"string"==typeof t&&e.push(t)),"string"==typeof t.errorMessage&&e.push(t.errorMessage),t.errorCollection&&Array.isArray(t.errorCollection.errors)&&t.errorCollection.errors.forEach(t=>{"string"==typeof t?e.push(t):t&&"string"==typeof t.message&&e.push(t.message)}),t?.errors&&"object"==typeof t.errors&&Object.values(t.errors).forEach(t=>{"string"==typeof t?e.push(t):"string"==typeof t?.message&&e.push(t.message)}))})(s,n);const i=r?`Jira API error (${r})`:"Jira API error",o=n.length>0?n.join(" | "):i;return{code:r?"jira_"+r:t?.code??"jira_error",message:o,details:{httpStatus:r,body:s,raw:t}}}const $t=v.object({issueId:v.string().min(1),deleteSubtasks:v.boolean().optional().default(!0)}),Dt={name:"jira-issue-delete",inputSchema:$t,runTool:async(t,e)=>{try{const r=$t.parse(e),s=t.issues??t.issue??t,n=s?.delete??s?.deleteIssue;if("function"!=typeof n)throw Error("jira client delete endpoint is not available");return await n.call(s,{issueId:r.issueId,deleteSubtasks:r.deleteSubtasks}),{success:!0,message:`Issue ${e.issueId} deleted successfully`}}catch(t){throw _t(t)}}},Pt=v.object({projectKey:v.string().trim().min(1).optional(),issueType:v.string().trim().min(1).optional(),parentIssueId:v.string().trim().min(1).optional(),name:v.string().trim().min(1).optional(),reference:v.string().trim().min(1).optional(),jql:v.string().trim().min(1).optional(),startAt:v.number().int().min(0).optional(),maxResults:v.number().int().min(1).optional(),fields:v.array(v.string()).optional(),expand:v.string().optional(),orderBy:v.string().trim().min(1).optional()});function Rt(t){return t.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}const Mt={name:"jira-issue-list",inputSchema:Pt,runTool:async(t,e)=>{try{const r=Pt.parse(e),s=r.startAt??0,n=r.maxResults??50;let i=r.jql?.trim();if(i){if(r.orderBy){const t=r.orderBy.trim();t&&(i=/\border\s+by\b/i.test(i)?`${i}, ${t}`:`${i} ORDER BY ${t}`)}}else i=(t=>{const e=[];if(t.projectKey&&e.push(`project = "${Rt(t.projectKey)}"`),t.issueType&&e.push(`issuetype = "${Rt(t.issueType)}"`),t.parentIssueId&&e.push(`parent = "${Rt(t.parentIssueId)}"`),t.name&&e.push(`summary ~ "${Rt(t.name)}"`),t.reference){const r=Rt(t.reference);e.push(`(key ~ "${r}" OR summary ~ "${r}" OR text ~ "${r}")`)}if(0===e.length){const t=Error("Provide a jql query or at least one filter (project, name, reference, parent, issue type, etc.).");throw t.code="validation_error",t}let r=e.join(" AND ");if(t.orderBy){const e=t.orderBy.trim();e&&(r=/\border\s+by\b/i.test(r)?`${r}, ${e}`:`${r} ORDER BY ${e}`)}return r})(r);const o={jql:i,startAt:s,maxResults:n};r.fields&&(o.fields=r.fields),r.expand&&(o.expand=r.expand);const a=await t.search.search(o);return a?.data??a}catch(t){throw _t(t)}}},qt=v.object({issueId:v.string().min(1),expand:v.string().optional(),fields:v.array(v.string()).optional(),properties:v.array(v.string()).optional()}),Bt={name:"jira-issue-read",inputSchema:qt,runTool:async(t,e)=>{try{const r=qt.parse(e),s={issueIdOrKey:r.issueId};r.expand&&(s.expand=r.expand),r.fields&&(s.fields=r.fields),r.properties&&(s.properties=r.properties);const n=await t.issues.get(s);return n?.data??n}catch(t){throw _t(t)}}};function Ft(t,e,r){const s=((t.url??"")+"").match(/^(attachment|jira-attachment):(.+)$/i);if(!s)return null;const n=s[2],i=r.resolveAttachment?.(n);return i?{type:"block",node:{type:"mediaSingle",attrs:{layout:"center"},content:[{type:"media",attrs:{type:"file",id:i.id,collection:i.collection??"attachments"}}]}}:null}function Wt(t,e){if(!t)return[];if(!e.enableAtMentions&&!e.enableEmojiShortcodes)return[{type:"text",text:t}];let r=0;const s=[],n=/(^|[^A-Za-z0-9_])@([A-Za-z0-9._-]{1,64})/g,i=/:([a-z0-9_+-]{1,64}):/gi;for(;r<t.length;){const o=Ut(e.enableAtMentions?Lt(n,t,r):null,e.enableEmojiShortcodes?Lt(i,t,r):null);if(!o){s.push({type:"text",text:t.slice(r)});break}if(o.index>r&&s.push({type:"text",text:t.slice(r,o.index)}),"mention"===o.kind){const{full:t,groups:n}=o,i=n[0]??"",a=n[1]??"";i&&s.push({type:"text",text:i});const c=e.resolveMention?.(a);c?s.push({type:"mention",attrs:{id:c.id,text:c.text}}):s.push({type:"text",text:"@"+a}),r=o.index+t.length;continue}if("emoji"===o.kind){const{full:t,groups:n}=o,i=`:${n[0]}:`,a=e.resolveEmoji?.(i);s.push({type:"emoji",attrs:a?{shortName:a.shortName,text:a.text}:{shortName:i}}),r=o.index+t.length;continue}}return(t=>{const e=[];for(const r of t){const t=e[e.length-1];"text"!==r.type||"text"!==t?.type||t.marks||r.marks?e.push(r):t.text=(t.text??"")+(r.text??"")}return e})(s)}function Lt(t,e,r){t.lastIndex=r;const s=t.exec(e);if(!s)return null;const n=t.source.includes("@")?"mention":"emoji";return{index:s.index,full:s[0],groups:s.slice(1),kind:n}}function Ut(t,e){return t?e&&t.index>e.index?e:t:e}function Kt(t){const e=(t.children??[])[0];return"text"===e?.type?(e.value??"")+"":"paragraph"===e?.type?((e.children??[]).map(t=>"text"===t.type?(t.value??"")+"":"").join("")||"")+"":""}function zt(t){const e=((t??"")+"").toLowerCase().trim();return e?"info"===e||"note"===e||"success"===e||"warning"===e||"error"===e?e:"danger"===e?"error":null:null}function Yt(t){const e=((t??"")+"").toLowerCase().trim();return!e||"neutral"!==e&&"green"!==e&&"yellow"!==e&&"red"!==e&&"blue"!==e&&"purple"!==e?null:e}function Gt(t,e){const r=[];for(const s of t??[])if(s?.type)if("text"!==s.type)if("strong"!==s.type)if("emphasis"!==s.type)if("delete"!==s.type)if("inlineCode"!==s.type)if("break"!==s.type){if("link"===s.type){const t=(s.url??"")+"",n=Vt(s.children??[],t),i=Ft(s,0,e);if(i){"inline"===i.type?r.push(i.node):r.push({type:"text",text:n,marks:[{type:"link",attrs:{href:t}}]});continue}if(e.enableSmartCards&&Qt(n,t)){r.push({type:"inlineCard",attrs:{url:t}});continue}r.push({type:"text",text:n,marks:[{type:"link",attrs:{href:t}}]});continue}if("textDirective"===s.type&&"status"===s.name){const t=Kt(s)||"Status",e=Yt(s.attributes?.color)??"neutral";r.push({type:"status",attrs:{text:t,color:e}});continue}if("textDirective"===s.type&&"emoji"===s.name){const t=Xt(s);r.push(te(t,e));continue}}else r.push({type:"hardBreak"});else r.push({type:"text",text:(s.value??"")+"",marks:[{type:"code"}]});else r.push(...Zt(Gt(s.children??[],e),{type:"strike"}));else r.push(...Zt(Gt(s.children??[],e),{type:"em"}));else r.push(...Zt(Gt(s.children??[],e),{type:"strong"}));else r.push(...Wt((s.value??"")+"",e));return r.filter(t=>!("text"===t.type&&""===(t.text??"")))}function Zt(t,e){return t.map(t=>{if("text"!==t.type)return t;const r=t.marks?[...t.marks,e]:[e];return{...t,marks:r}})}function Vt(t,e){const r=[];for(const e of t??[])"text"===e.type||"inlineCode"===e.type?r.push((e.value??"")+""):"emphasis"!==e.type&&"strong"!==e.type&&"delete"!==e.type||r.push(Vt(e.children??[],""));return r.join("")||e}function Qt(t,e){const r=(t??"").trim(),s=(e??"").trim();return r===s&&/^https?:\/\//i.test(s)}function Xt(t){return(t.children??[]).map(t=>"text"===t.type?(t.value??"")+"":"").join("").trim()||""}function te(t,e){const r=t.startsWith(":")?t:`:${t}:`,s=e.resolveEmoji?.(r);return s?{type:"emoji",attrs:{shortName:s.shortName,text:s.text}}:{type:"emoji",attrs:{shortName:r}}}function ee(t){return t?"string"==typeof t?t:"text"===t.type||"inlineCode"===t.type?(t.value??"")+"":Array.isArray(t.children)?t.children.map(ee).join(""):"":""}function re(t,e){if(!t?.type)return null;if((t=>"containerDirective"===t?.type&&"panel"===t?.name)(t))return((t,e)=>{const r=t.attributes??{},s=zt(r.type)??"info",n="string"==typeof r.title?r.title:void 0,i=(t.children??[]).map(t=>re(t,e)).flat().filter(Boolean);return{type:"panel",attrs:{panelType:s,...n?{panelType:s,title:n}:{panelType:s}},content:i.length?i:[{type:"paragraph",content:[]}]}})(t,e);switch(t.type){case"heading":return{type:"heading",attrs:{level:ne(t.depth??1,1,6)},content:Gt(t.children??[],e)};case"paragraph":return(t=>{const e=t.children??[];if(1!==e.length)return null;const r=e[0];if("image"!==r?.type)return null;const s=(r.url??"")+"";return s?{type:"mediaSingle",attrs:{layout:"center"},content:[{type:"media",attrs:{type:"external",url:s}}]}:null})(t)||{type:"paragraph",content:Gt(t.children??[],e)};case"blockquote":return{type:"blockquote",content:(t.children??[]).map(t=>re(t,e)).flat().filter(Boolean)};case"list":return((t,e)=>e.enableTaskLists&&(t.children??[]).some(t=>"boolean"==typeof t.checked)?((t,e)=>{const r=[];let s=0;for(const n of t.children??[]){if("boolean"!=typeof n.checked)continue;s+=1;const t=(n.children??[]).map(t=>re(t,e)).flat().filter(Boolean);r.push({type:"taskItem",attrs:{localId:"task-"+s,state:n.checked?"DONE":"TODO"},content:t.length?t:[{type:"paragraph",content:[]}]})}return{type:"taskList",content:r}})(t,e):{type:t.ordered?"orderedList":"bulletList",content:(t.children??[]).map(t=>((t,e)=>{const r=(t.children??[]).map(t=>re(t,e)).flat().filter(Boolean);return{type:"listItem",content:r.length?r:[{type:"paragraph",content:[]}]}})(t,e))})(t,e);case"code":{const r=((t,e)=>{const r=(t??"").toString().trim().toLowerCase();return r?e.enableMermaid&&"mermaid"===r?"mermaid":(t=>{const e=t.trim().toLowerCase();return{js:"javascript",javascript:"javascript",jsx:"javascript",ts:"typescript",typescript:"typescript",tsx:"typescript",py:"python",python:"python",rb:"ruby",ruby:"ruby",sh:"bash",bash:"bash",zsh:"bash",shell:"bash",yml:"yaml",yaml:"yaml",json:"json",toml:"toml",xml:"xml",html:"html",css:"css",scss:"scss",sql:"sql",go:"go",rust:"rust",java:"java",c:"c",cpp:"cpp","c++":"cpp",cs:"csharp",csharp:"csharp",php:"php",kotlin:"kotlin",swift:"swift",md:"markdown",markdown:"markdown",graphql:"graphql",gql:"graphql",dockerfile:"docker",makefile:"make",ini:"ini"}[e]??e})(r):null})(t.lang,e);return{type:"codeBlock",attrs:{language:r},content:[{type:"text",text:(t.value??"")+""}]}}case"thematicBreak":return{type:"rule"};case"table":return((t,e)=>({type:"table",content:(t.children??[]).map((t,r)=>({type:"tableRow",content:(t.children??[]).map(t=>({type:0===r?"tableHeader":"tableCell",content:[{type:"paragraph",content:Gt(t.children??[],e)}]}))}))}))(t,e);case"leafDirective":return"status"===t.name?(t=>{const e=Yt((t.attributes??{}).color)??"neutral";return{type:"paragraph",content:[{type:"status",attrs:{text:Kt(t)||"Status",color:e}}]}})(t):"panel"===t.name?((t,e)=>{const r=t.attributes??{},s=zt(r.type)??"info",n="string"==typeof r.title?r.title:void 0;return{type:"panel",attrs:{panelType:s,...n?{title:n}:{}},content:[{type:"paragraph",content:Gt([{type:"text",value:Kt(t)}],e)}]}})(t,e):se(t,e);default:return se(t,e)}}function se(t,e){if("drop"===e.unknownNodeStrategy)return null;const r=ee(t);return r?{type:"paragraph",content:[{type:"text",text:r}]}:null}function ne(t,e,r){const s=Number.isFinite(t)?Math.trunc(t):e;return Math.max(e,Math.min(r,s))}const ie={resolveMention:void 0,resolveAttachment:void 0,resolveEmoji:void 0,enableSmartCards:!0,enableMermaid:!0,enableEmojiShortcodes:!0,enableAtMentions:!0,enableTaskLists:!0,unknownNodeStrategy:"text"};function oe(t,e={}){const r={...ie,...e},s=t??"",n=J().use(D).use($).use(_),i=n.parse(s),o=n.runSync(i);return ae(o),((t,e)=>{const r=[];for(const s of t.children??[]){const t=re(s,e);t&&(Array.isArray(t)?r.push(...t):r.push(t))}return((t,e)=>{if(!e.enableSmartCards)return t;const r=t.content.map(t=>(t=>{if("paragraph"!==t.type)return t;const e=t.content??[];if(1!==e.length)return t;const r=e[0];if("inlineCard"!==r?.type)return t;const s=r.attrs?.url;return s?[{type:"blockCard",attrs:{url:s}}]:t})(t)).flat();return{...t,content:r}})({version:1,type:"doc",content:r},e)})(o,r)}function ae(t){if(!t||!Array.isArray(t.children))return;const e=[];for(const r of t.children)"definition"!==r?.type&&("html"!==r?.type?(ae(r),e.push(r)):e.push({type:"text",value:(r.value??"")+""}));t.children=e}const ce=v.object({issueId:v.string().min(1),transitionId:v.union([v.string(),v.number()]),fields:v.record(v.any()).optional(),update:v.record(v.array(v.object({set:v.any().optional(),add:v.any().optional(),remove:v.any().optional()}))).optional(),comment:v.string().optional()}),pe={name:"jira-issue-transition",inputSchema:ce,runTool:async(t,e)=>{try{const r=ce.parse(e),s={id:r.transitionId};r.fields&&(s.fields=r.fields),r.update&&(s.update=r.update),r.comment&&(s.comment={body:oe(r.comment)});const n=await t.issues.transition({issueId:r.issueId,transition:s});return n?.data??n}catch(t){throw _t(t)}}},le=v.object({issueId:v.string().min(1),fields:v.record(v.any()).optional(),update:v.record(v.array(v.object({set:v.any().optional(),add:v.any().optional(),remove:v.any().optional(),edit:v.any().optional()}))).optional(),properties:v.array(v.any()).optional(),notifyUsers:v.boolean().optional().default(!0),issueTemplateId:v.string().optional(),overrideScreenSecurity:v.boolean().optional().default(!1),overrideEditableFlag:v.boolean().optional().default(!1)}),ue={name:"jira-issue-update",inputSchema:le,runTool:async(t,e)=>{try{const r=le.parse(e),s={issueId:r.issueId};r.fields&&(s.fields=r.fields),r.update&&(s.update=r.update),r.properties&&(s.properties=r.properties),void 0!==r.notifyUsers&&(s.notifyUsers=r.notifyUsers),r.issueTemplateId&&(s.issueTemplateId=r.issueTemplateId),void 0!==r.overrideScreenSecurity&&(s.overrideScreenSecurity=r.overrideScreenSecurity),void 0!==r.overrideEditableFlag&&(s.overrideEditableFlag=r.overrideEditableFlag);const n=await t.issues.update(s);return n?.data??n}catch(t){throw _t(t)}}},de=v.object({issueId:v.string().min(1),assignee:v.union([v.string(),v.object({accountId:v.string().min(1)}),v.object({accountType:v.string().min(1)})])}),me={name:"jira-assign-issue",inputSchema:de,runTool:async(t,e)=>{try{const r=de.parse(e);let s;s="string"==typeof r.assignee?{accountId:r.assignee}:r.assignee;const n=await t.issues.assign({issueId:r.issueId,assignee:s});return n?.data??n}catch(t){throw _t(t)}}},he=v.object({issueId:v.string().min(1)}),fe={name:"jira-unassign-issue",inputSchema:he,runTool:async(t,e)=>{try{const r=he.parse(e),s=await t.issues.assign({issueId:r.issueId,assignee:{accountId:"-1"}});return s?.data??s}catch(t){throw _t(t)}}},ye=v.object({issueId:v.string().min(1),body:v.string().min(1),visibility:v.object({type:v.enum(["role","group"]),value:v.string().min(1)}).optional()}),ge={name:"jira-comment-add",inputSchema:ye,runTool:async(t,e)=>{try{const r=ye.parse(e),s={body:oe(r.body)};r.visibility&&(s.visibility=r.visibility);const n=await t.issues.addComment({issueId:r.issueId,comment:s});return n?.data??n}catch(t){throw _t(t)}}},be=v.object({issueId:v.string().min(1),start:v.number().optional().default(0),maxResults:v.number().optional().default(50),orderBy:v.string().optional(),expand:v.string().optional()}),ve={name:"jira-comment-list",inputSchema:be,runTool:async(t,e)=>{try{const r=be.parse(e),s=await t.issues.getComments({issueId:r.issueId,start:r.start,maxResults:r.maxResults,orderBy:r.orderBy,expand:r.expand});return s?.data??s}catch(t){throw _t(t)}}},we=v.object({link:v.object({relationship:v.enum(["Blocks","Relates to","Duplicates","Is blocked by","Is related to","Is duplicated by","Causes","Is caused by","Clone","Required","Work on","Split","Roll up"]),inwardIssue:v.object({id:v.string().optional(),key:v.string().optional()}),outwardIssue:v.object({id:v.string().optional(),key:v.string().optional()}),comment:v.object({body:v.string().optional(),visibility:v.object({type:v.enum(["role","group"]),value:v.string().min(1)}).optional()}).optional()})}),Se={name:"jira-link-create",inputSchema:we,runTool:async(t,e)=>{try{const r=we.parse(e).link,s={relationship:r.relationship,inwardIssue:r.inwardIssue.id||r.inwardIssue.key,outwardIssue:r.outwardIssue.id||r.outwardIssue.key};r.comment&&(r.comment.body&&(s.comment=oe(r.comment.body)),r.comment.visibility&&(s.visibility=r.comment.visibility));const n=await t.issues.link(s);return n?.data??n}catch(t){throw _t(t)}}},je=v.object({issueId:v.string().min(1),file:v.string().min(1),mimeType:v.string().optional(),comment:v.string().optional()}),xe={name:"jira-attach",inputSchema:je,runTool:async(t,e)=>{try{const r=je.parse(e),n=A.resolve(r.file),i=await s.readFile(n),o=A.basename(n),a=await t.issues.addAttachment({issueId:r.issueId,file:{name:o,content:i,mimeType:r.mimeType??"application/octet-stream"},comment:r.comment});return a?.data??a}catch(t){if(t&&t.code&&"string"==typeof t.code&&["ENOENT","EACCES"].includes(t.code))throw Error("Attachment file error: "+t.message);throw _t(t)}}},Ie=v.object({issueId:v.string().min(1)}),ke={name:"jira-attachment-list",inputSchema:Ie,runTool:async(t,e)=>{try{const r=Ie.parse(e),s=await t.issues.getAttachments({issueId:r.issueId});return s?.data??s}catch(t){throw _t(t)}}},Ae=v.object({issueId:v.string().min(1),attachmentId:v.string().min(1)}),Ee={name:"jira-attachment-delete",inputSchema:Ae,runTool:async(t,e)=>{try{const r=Ae.parse(e);return await t.issues.deleteAttachment({issueId:r.issueId,attachmentId:r.attachmentId}),{success:!0,message:`Attachment ${e.attachmentId} deleted successfully`}}catch(t){throw _t(t)}}},Te=v.object({issueId:v.string().min(1),timeSpent:v.string().min(1),comment:v.string().optional(),author:v.object({accountId:v.string().min(1)}).optional(),startingOn:v.string().optional(),artifact:v.string().optional()}),Oe={name:"jira-worklog-add",inputSchema:Te,runTool:async(t,e)=>{try{const r=Te.parse(e),s={timeSpent:r.timeSpent};r.comment&&(s.comment=r.comment),r.author&&(s.author=r.author),r.startingOn&&(s.started=r.startingOn),r.artifact&&(s.artifact=r.artifact);const n=await t.issues.addWorklog({issueId:r.issueId,...s});return n?.data??n}catch(t){throw _t(t)}}},Ne={[Bt.name]:{title:"Jira Issue Read",description:"Read a Jira issue with expandable fields and properties",annotations:{readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1}},[Mt.name]:{title:"Jira Issue List",description:"Search issues by summary, reference, parent, or JQL and list the matching tickets",annotations:{readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1}},[ue.name]:{title:"Jira Issue Update",description:"Update a Jira issue using fields, update ops, and property toggles",annotations:{readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1,openWorldHint:!0}},[Dt.name]:{title:"Jira Issue Delete",description:"Delete a Jira issue and optionally remove its subtasks",annotations:{readOnlyHint:!1,destructiveHint:!0,idempotentHint:!1,openWorldHint:!0}},[pe.name]:{title:"Jira Issue Transition",description:"Transition a Jira issue while optionally adding a comment",annotations:{readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1,openWorldHint:!0}},[me.name]:{title:"Jira Issue Assign",description:"Assign a Jira issue to a user or account",annotations:{readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1,openWorldHint:!0}},[fe.name]:{title:"Jira Issue Unassign",description:"Unassign the current owner from a Jira issue",annotations:{readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1,openWorldHint:!0}},[ge.name]:{title:"Jira Comment Add",description:"Add a comment to a Jira issue with optional visibility",annotations:{readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1,openWorldHint:!0}},[ve.name]:{title:"Jira Comment List",description:"List comments on a Jira issue with pagination support",annotations:{readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1}},[Se.name]:{title:"Jira Link Create",description:"Create an issue link relationship with optional comment",annotations:{readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1,openWorldHint:!0}},[xe.name]:{title:"Jira Attachment Add",description:"Attach a local file to a Jira issue",annotations:{readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1,openWorldHint:!0}},[ke.name]:{title:"Jira Attachment List",description:"List attachments on a Jira issue",annotations:{readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1}},[Ee.name]:{title:"Jira Attachment Delete",description:"Delete an attachment from a Jira issue",annotations:{readOnlyHint:!1,destructiveHint:!0,idempotentHint:!1,openWorldHint:!0}},[Oe.name]:{title:"Jira Worklog Add",description:"Log time spent on a Jira issue",annotations:{readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1,openWorldHint:!0}}};async function Ce(t){const e=o.for(Ce);let r,s=null;try{r=(()=>{let t;try{const e=require("jira.js");t=e?.Version3Client||e.default?.Version3Client||e.default||e}catch(t){throw Error("Unable to require 'jira.js' \u2014 ensure it is installed as a dependency: "+t)}const{host:e,email:r,apiKey:s}=(()=>{const t=Nt(),e=Ct().filter(t=>t.required&&!t.value);if(e.length>0)throw new Jt(e);return{host:t.host,email:t.email,apiKey:t.apiKey}})();return new t({host:e.startsWith("http://")||e.startsWith("https://")?e:"https://"+e,authentication:{basic:{email:r,apiToken:s}}})})()}catch(t){if(!(t instanceof Jt))return void e.warn("Skipping Jira tool registration; unable to create Jira client",{error:t});s=t,e.warn("Registering Jira tools without credentials; each tool will report configuration requirements.",{error:t})}const n=[Bt,Mt,ue,Dt,pe,me,fe,ge,ve,Se,xe,ke,Ee,Oe];for(const i of n){const n=Ne[i.name];if(n)try{await t.registerTool(i.name,{title:n.title,description:n.description,inputSchema:tt(i.inputSchema),annotations:n.annotations},async t=>{if(!r)throw s??Error("Jira client unavailable because credentials could not be loaded.");return i.runTool(r,t)}),e.info("Registered Jira tool "+i.name)}catch(t){e.error("Failed to register Jira tool "+i.name,{error:t})}}}async function He(t){await(async t=>{t.registerTool("decaf-server-info",{title:"Decaf MCP Server Info",description:"Return server metadata, version, and registered prompt names for diagnostics.",inputSchema:{},outputSchema:void 0,annotations:{readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1}},async()=>{const t=St.map(t=>t.getName()).sort();return{content:[{type:"text",text:["Name: "+Ot.name,"Title: "+Ot.title,"Version: "+Ot.version,"Prompts: "+(t.join(", ")||"<none>")].join("\n")}]}})})(t);const e=o.for(He);try{await Ce(t)}catch(t){e.error("Failed to register Jira tools",t)}}class Je extends Z{setCb(t){return this.cb=t,this}setConfig(t){return this.config=t,this}setUriOtTemplate(t){return this.uriOrTemplate=t,this}constructor(t){super(t)}static get builder(){return new Je}build(t){const e=this.hasErrors();if(e)throw Error(e.toString());try{const e="string"==typeof this.uriOrTemplate&&this.uriOrTemplate.includes("{")?new R(new P(this.uriOrTemplate),{list:void 0}):this.uriOrTemplate,r=Object.assign(this.config,{_meta:{}}),s=async(t,e)=>{const r=this.logFor(e);r.verbose(`Requesting resource ${this.name} from ${t.toString()}`);const s=await Promise.resolve(this.cb(t,e));return r.verbose(`Resource ${this.name} retrieved successfully.`),r.debug("Resource retrieval meta: "+JSON.stringify(s._meta)),s};return t.resource(this.name,e,r,s)}catch(t){throw o.for(this).error("Error registering resource "+this.name,t),t}}}m([f(),h("design:type",String)],Je.prototype,"uriOrTemplate",void 0),m([f(),h("design:type",Function)],Je.prototype,"cb",void 0),m([f(),h("design:type",Object)],Je.prototype,"config",void 0);const _e=lt()??k.join(__dirname,"..","assets"),$e=k.join(_e,"templates"),De=k.join(_e,"prompts"),Pe=new WeakMap;class Re extends a{get client(){const t=Pe.get(this);if(!t)throw Error("Mcp server requires Mcp client");return t}constructor(){super()}async load(){const t=this.log.for(this.load);for(const e of St)try{t.info("loading prompt "+e.getName());const r=e.build(this.client);t.verbose(`Loaded prompt ${r.title} from ${e.getName()} definition`)}catch(r){t.error("Failed to load prompt "+e.getName(),r)}try{await He(this.client),t.verbose("Registered built-in tools")}catch(t){}try{await(async(t,r)=>{r.info("Registering agent templates as resources...");const s=e.readdirSync($e).filter(t=>t.endsWith(".md"));for(const n of s){const s=k.basename(n,".md"),i=k.join($e,n),o=Je.builder.setName(s).setTitle("Template: "+s).setDescription("Resource template for "+s).setUriOtTemplate("file:///"+i).setConfig({mimeType:"text/markdown",description:"Template for "+s}).setCb(async t=>{const r=e.readFileSync(t.pathname,"utf8");return{contents:[{uri:t.toString(),text:r,mimeType:"text/markdown"}],_meta:{}}});try{o.build(t),r.info("Registered template: "+s)}catch(t){r.error(`Failed to register template ${s}:`,t)}}r.info("Registering agent prompts...");const n=e.readdirSync(De).filter(t=>t.endsWith(".md"));for(const s of n){const n=k.basename(s,".md"),i=k.join(De,s),o=e.readFileSync(i,"utf8"),a=dt.builder.setName(n).setTitle("Prompt: "+n).setDescription("Dynamic prompt for "+n).setArgsSchema(v.object({})).setCb(async t=>({messages:[{role:"user",content:{type:"text",text:o}}],_meta:{}}));try{a.build(t),r.info("Registered prompt: "+n)}catch(t){r.error(`Failed to register prompt ${n}:`,t)}}})(this.client,t)}catch(t){}}async boot(t="stdio"){"stdio"===t&&o.setFactory(L),o.for(this.constructor.name);const e=((Array.isArray(Ot.icons)?Ot.icons:[Ot.icons])||[]).map(t=>{const e="string"==typeof t?.src?t.src:(t?.src??"")+"",r="string"==typeof t?.mimeType?t.mimeType:(t?.mimeType??"")+"";let s=[];return Array.isArray(t?.sizes)?s=t.sizes.map(t=>t+""):"string"==typeof t?.sizes&&(s=(t.sizes+"").split(",").map(t=>t.trim())),{src:e,mimeType:r,sizes:s}}),r={name:Ot.name,title:Ot.title,websiteUrl:Ot.websiteUrl,version:Ot.version,icons:e},s=new M(r,{instructions:"You are an AI assistant designed to help users with programming tasks related to the Decaf-TS framework. \nProvide clear, concise, and accurate information.\nIf you don't know the answer, admit it rather than making up information.\nAlways prioritize the user's intent and provide helpful suggestions when appropriate.\n",capabilities:{logging:{},tools:{},prompts:{}}});switch(((t,e)=>{Pe.set(t,e)})(this,s),s.onerror=t=>{this.log.error("MCP instance onerror",t)},t){case"stdio":t=new B;break;case"http":t=new F({sessionIdGenerator:()=>q(),onsessioninitialized:t=>{},onsessionclosed:t=>{},enableJsonResponse:!0,eventStore:void 0});break;default:if(!(n=t)||"object"!=typeof n||"function"!=typeof n.send&&"function"!=typeof n.close&&"function"!=typeof n.on)throw new E("Invalid transport type: "+t)}var n;try{await this.load()}catch(t){throw t}await this.client.connect(t)}}const Me=(new t).command("start").option("--transport [String]","transport mode","stdio").description("starts decaf's mcp server").action(async t=>{const e=ct("package.json"),s=JSON.parse(r.readFileSync(e,"utf-8")),n=s.version,{transport:i}=t,o=(new W).for("mcp-server");if("stdio"!==i)throw Error("Unsupported transport mode: "+i);return o.info("Transport stdio"),o.debug(`running with options: ${JSON.stringify(t)} for ${s.name} version ${n}`),(new Re).boot(i)});(new t).command("md-to-ast").description("pipes markdown to jira ast: `cat file.md` | npx decaf-mcp md-to-ast > ast.json").action(async t=>{const e=ct("package.json"),s=JSON.parse(r.readFileSync(e,"utf-8")),n=s.version;o.for("md-to-ast").debug(`running with options: ${JSON.stringify(t)} for ${s.name} version ${n}`);const i=oe(await(async()=>{const t=[];for await(const e of process.stdin)t.push(Buffer.from(e));return Buffer.concat(t).toString("utf8")})(),{resolveMention:t=>({id:t,text:"@"+t}),resolveAttachment:t=>({id:t,collection:"attachments"})});process.stdout.write(JSON.stringify(i,null,2)+"\n")});const qe=(new t).name("mcp-server").command("mcp-server").description("decaf mcp server and agentic functionality");qe.addCommand(Me),qe.parse(process.argv);
1
+ import{Command as t}from"commander";import*as e from"fs";import r,{promises as s}from"fs";import{MiniLogger as n,NumericLogLevels as i,Logging as o,LoggedClass as a,toSnakeCase as c,sf as p,toPascalCase as l,LogLevel as u,LoggedEnvironment as d}from"@decaf-ts/logging";import{__decorate as m,__metadata as h}from"tslib";import{required as f,Model as y,list as g,minlength as b}from"@decaf-ts/decorator-validation";import{z as v,ZodObject as w}from"zod";import{injectable as S,inject as j}from"@decaf-ts/injectable-decorators";import{prop as x,Metadata as I}from"@decaf-ts/decoration";import*as k from"path";import E from"path";import{InternalError as A,SerializationError as T,ValidationError as O}from"@decaf-ts/db-decorators";import N from"crypto";import C from"zlib";import{fileURLToPath as J}from"url";import{unified as H}from"unified";import _ from"remark-directive";import $ from"remark-gfm";import D from"remark-parse";import{UriTemplate as P}from"@modelcontextprotocol/sdk/shared/uriTemplate.js";import{ResourceTemplate as R,McpServer as M}from"@modelcontextprotocol/sdk/server/mcp.js";import{v4 as q}from"uuid";import{StdioServerTransport as F}from"@modelcontextprotocol/sdk/server/stdio.js";import{StreamableHTTPServerTransport as B}from"@modelcontextprotocol/sdk/server/streamableHttp.js";class W extends n{constructor(t,e,r){super(t,e,r)}log(t,e,r,s){const n=this.config("level");i[n],i[t]}}const U=(t,e,...r)=>{const s=(t=>{if("string"==typeof t)return t;if(!t)return"unknown";if("function"==typeof t)return t.name||"unknown";if("object"==typeof t&&"constructor"in t){const e=t.constructor;if(e&&e.name)return e.name}return"unknown"})(t);return new W(s,e)};var L,K,z,Y,G;(t=>{t[t.NONE=0]="NONE",t[t.BASIC=1]="BASIC",t[t.ADVANCED=2]="ADVANCED",t[t.HIGH=3]="HIGH"})(L||(L={})),(t=>{t[t.NONE=0]="NONE",t[t.LOW=1]="LOW",t[t.MEDIUM=2]="MEDIUM",t[t.HIGH=3]="HIGH"})(K||(K={})),(t=>{t[t.FREE=0]="FREE",t[t.LOW=1]="LOW",t[t.MEDIUM=2]="MEDIUM",t[t.HIGH=3]="HIGH"})(z||(z={}));class Z extends y{get log(){return this._log||(this._log=o.for(this)),this._log}constructor(t){super(t)}logFor(t){const{sessionId:e,requestId:r,authInfo:s}=t||{};let n="string"==typeof e&&e.length>0?this.log.for(e):this.log;return s&&s.clientId&&(n=n.for(s.clientId)),r&&(n=n.for(r.toString())),n}setDescription(t){return this.description=t,this}getDescription(){return this.description}setName(t){return this.name=t,this}getName(){return this.name}setTitle(t){return this.title=t,this}}m([f(),h("design:type",String)],Z.prototype,"description",void 0),m([f(),h("design:type",String)],Z.prototype,"name",void 0),m([f(),h("design:type",String)],Z.prototype,"title",void 0);class V extends Z{constructor(t){super(t),this.reasoning=L.NONE,this.effort=K.NONE,this.cost=z.FREE}setReasoning(t){return this.reasoning=t,this}setEffort(t){return this.effort=t,this}setCost(t){return this.cost=t,this}}function Q(t){if(!t)return;let e=t,r=e&&e._def;for(;r&&"ZodObject"!==r.typeName;){if("ZodEffects"===r.typeName&&r.schema)e=r.schema;else if("ZodOptional"===r.typeName&&r.innerType)e=r.innerType;else if("ZodDefault"===r.typeName&&r.innerType)e=r.innerType;else if("ZodNullable"===r.typeName&&r.innerType)e=r.innerType;else{if(!r.schema)return;e=r.schema}r=e&&e._def}return r&&"ZodObject"===r.typeName?r:void 0}function X(t,e="schema"){if(Q(t))return t;if(t&&"object"==typeof t){const e=t.def&&"object"==typeof t.def?t.def:void 0,r=e&&(e.shape||"object"===e.type)&&e.shape||("object"===t.type?t.shape:void 0)||(e&&"object"===e.type?{}:void 0);if(e||"object"===t.type||r){const t={};if(r&&"object"==typeof r)for(const[e,s]of Object.entries(r))t[e]=et(s)?s:v.any();return v.object(t)}}throw Error(`Registration error: provided a non-canonical ${e}. Export a ZodObject (z.object(...)).`)}function tt(t){if(!t)return;if(t&&"object"==typeof t&&!t._def)return t.def&&"object"==typeof t.def&&t.def.shape?t.def.shape:t;const e=Q(t);return e?"function"==typeof e.shape?e.shape():e.shape||void 0:void 0}function et(t){return!(!t||"object"!=typeof t||!t._def)}m([f(),h("design:type",Number)],V.prototype,"reasoning",void 0),m([f(),h("design:type",Number)],V.prototype,"effort",void 0),m([f(),h("design:type",Number)],V.prototype,"cost",void 0),(t=>{t.ASSETS="assets"})(Y||(Y={})),(t=>{t.PROMPT="prompts",t.DOCUMENTATION="documentation",t.CODE="code"})(G||(G={}));const rt=Buffer.from("DCAF1","ascii");function st(t){let e=E.resolve(t);for(;;){if(r.existsSync(E.join(e,"package.json")))return e;const t=E.dirname(e);if(t===e)break;e=t}}const nt=process.argv?.[1]?st(E.dirname(E.resolve(process.argv[1]))):void 0,it=(()=>{const t=Error().stack;if(!t)return;const e=t.split(/\r?\n/).slice(1);for(const t of e){const e=t.match(/\(?([^()]+?):\d+:\d+\)?/);if(!e)continue;let r=e[1];if(r.startsWith("file://"))try{r=J(r)}catch{continue}if(!r.includes("node:internal"))return E.dirname(r)}})(),ot=it?st(it):void 0,at=nt??ot??process.cwd();function ct(...t){return E.join(at,...t)}function pt(t){let r=t;for(;;){const t=k.join(r,"lib","assets");if(e.existsSync(t))return t;const s=k.join(r,"src","assets");if(e.existsSync(s))return s;const n=k.join(r,"assets");if(e.existsSync(n))return n;const i=k.dirname(r);if(i===r)break;r=i}}function lt(){const t=process.env.DECAF_ASSET_DIR||process.env.MCP_ASSET_DIR||process.env.ASSET_DIR||"";if(t&&e.existsSync(t))return t;const r=pt(__dirname);if(r)return r;const s=process.argv?.[1];if(s){const t=pt(k.dirname(s));if(t)return t}const n=[at,process.env.INIT_CWD].filter(Boolean);for(const t of n){const e=pt(t);if(e)return e}return ct("assets")}let ut=class extends a{constructor(t){super(),this.basePath=t||lt()}listAssets(...t){const r=k.join(this.basePath,...t);return e.readdirSync(r)}listPrompts(){return this.listAssets(G.PROMPT)}getAsset(t,r="md",...s){const n=k.join(this.basePath,...s),i=(t,r=!1)=>{try{return r?(t=>{if(t.length<rt.length+16+12+16)throw Error("Invalid prompt payload (too short)");if(!t.subarray(0,rt.length).equals(rt))throw Error("Invalid prompt payload (bad magic)");const e=process.env.ENCRYPTION_KEY||"";if(!e)throw Error("Missing encryption key. Set ENCRYPTION_KEY to load obfuscated assets.");let r=rt.length;const s=t.subarray(r,r+16);r+=16;const n=t.subarray(r,r+12);r+=12;const i=t.subarray(r,r+16);r+=16;const o=t.subarray(r),a=((t,e)=>N.scryptSync(t,e,32))(e,s),c=N.createDecipheriv("aes-256-gcm",a,n);c.setAuthTag(i);const p=Buffer.concat([c.update(o),c.final()]);return C.gunzipSync(p)})(e.readFileSync(t)).toString("utf-8"):e.readFileSync(t,"utf-8")}catch(t){if("ENOENT"===t.code)return null;throw t}},o=i(k.join(n,`${t}.${r}`),"enc"===r);if(null!==o)return o;const a=i(k.join(n,t+".enc"),!0);if(null!==a)return a;throw Error("Asset not found: "+k.join(n,`${t}.${r}`))}getAllAssets(t,...e){return this.listAssets(t,...e).reduce((r,s)=>{const n=k.extname(s),i=k.basename(s,n),o=n.replace(/^\./,"")||void 0;return r[i]=this.getAsset(i,o??void 0,t,...e),r},{})}toPromptDef(t){const e=t=>"number"==typeof t?t:"string"==typeof t?(t=>{switch(t){case"none":return L.NONE;case"basic":return L.BASIC;case"advanced":return L.ADVANCED;case"high":return L.HIGH;case"medium":return K.MEDIUM;case"low":return z.LOW;case"free":return z.FREE;default:throw new A("Cannon convert unknown level "+t)}})(t.toLowerCase()):L.NONE;return t.effort=e(t.effort),t.reasoning=e(t.reasoning),t.cost=e(t.cost),t}getPrompt(t,...e){const r=this.getAsset(c(t),"json",G.PROMPT,...e);let s;try{s=JSON.parse(r)}catch(r){throw new T(`Failed to parse prompt ${t} in categories ${e}: ${r}`)}return this.toPromptDef(s)}getAllPrompts(...t){const e=this.getAllAssets(G.PROMPT,...t);return Object.entries(e).reduce((e,[r,s])=>{try{e[r]=JSON.parse(s)}catch(e){throw new T(`Failed to parse prompt ${r} in categories ${t}: ${e}`)}return e},e)}};ut=m([S(),h("design:paramtypes",[String])],ut);class dt extends V{constructor(t){super(t)}setCb(t){return this.cb=t,this}setArgsSchema(t){return this.argsSchema=t,this}static get builder(){return new dt}static patchPrompt(t,e,r,s){const n=(e=Array.isArray(e)?e:Object.keys(e)).filter(t=>!Object.prototype.hasOwnProperty.call(r,t));if(n.length)throw new O("Missing replacements for placeholders: "+n.join(", "));s&&(s.verbose("Patching prompt with placeholders: "+JSON.stringify(e)),s.debug("Values: "+JSON.stringify(r)));const i=e.reduce((t,e)=>(t[e]=r[e],t),{});return p(t,i)}patchPrompt(t,e,r,s){return dt.patchPrompt(t,e,r,s||this.log.for(this.patchPrompt))}build(t,e){const r=this.log.for(this.build),s=this.hasErrors();if(s)throw new O(s.toString());try{this.argsSchema&&X(this.argsSchema,"argsSchema");const r=tt(this.argsSchema);return t.registerPrompt(this.name,{title:this.title,description:this.description,argsSchema:r},async(t,r)=>{const s=this.logFor(r);t=Object.assign({},e,t||{}),s.verbose(`Executing prompt ${this.name} with args: ${JSON.stringify(t)}`),t._meta=Object.assign(t._meta||{},{usage:{reasoning:this.reasoning,effort:this.effort,cost:this.cost}});const n=await Promise.resolve(this.cb(t,r));return s.verbose(`Prompt ${this.name} executed successfully.`),s.debug("Prompt execution meta: "+JSON.stringify(n._meta)),n})}catch(t){throw r.error("Failed to register prompt "+(this.name||this.constructor.name),t),t}}}m([j(ut),h("design:type",ut)],dt.prototype,"assets",void 0),m([f(),h("design:type",Object)],dt.prototype,"cb",void 0),m([f(),h("design:type",w)],dt.prototype,"argsSchema",void 0),m([x(),h("design:type",Object)],dt.prototype,"placeholders",void 0);class mt extends dt{setCategory(t){return this.promptCategory=t,this}addPrefix(t){return this.prefixes=this.prefixes||[],this.prefixes.push(t),this}addSuffix(t){return this.suffixes=this.suffixes||[],this.suffixes.push(t),this}constructor(t){super(t)}build(t){const e=this.assets.getPrompt(this.name,this.promptCategory);y.fromObject(this,e);const r=new Set((I.properties(mt)||[]).filter(t=>!["assets","promptCategory","prefixes","suffixes"].includes(t)));["cb","argsSchema"].forEach(t=>r.add(t));const s=this.hasErrors(...Array.from(r));if(s)throw new O(s.toString());const n=(this.prefixes||[]).map(t=>this.assets.getPrompt(t,this.promptCategory)),i=(this.suffixes||[]).map(t=>this.assets.getPrompt(t,this.promptCategory)),o=[...new Set([...e.placeholders,...n.map(t=>t.placeholders||[]),...i.map(t=>t.placeholders||[])].flat())].reduce((t,e)=>(t[e]=v.string().describe("The description for "+e),t),{});return this.setArgsSchema(v.object(o)),this.setCb((t,e)=>{const r=this.logFor(e).for(mt).for(this.promptCategory).for(this.name);function s(t=[]){return Array.isArray(t)?t:Object.keys(t)}const n=(this.prefixes||[]).map(t=>this.assets.getPrompt(t,this.promptCategory)),i=(this.suffixes||[]).map(t=>this.assets.getPrompt(t,this.promptCategory)),o=this.assets.getPrompt(this.name,this.promptCategory),a=[...new Set([...n.map(t=>s(t.placeholders)).flat(),...i.map(t=>s(t.placeholders)).flat(),...s(o.placeholders).flat()])];return{messages:[{role:"user",content:{type:"text",text:this.patchPrompt([...n.map(t=>t.prompt),o.prompt,...i.map(t=>t.prompt)].join("\n\n"),a,t,r)}}],_meta:{}}}),super.build(t)}setReasoning(t){throw new A("Named prompt builders don't require callback")}setEffort(t){throw new A("Named prompt builders don't require callback")}setCost(t){throw new A("Named prompt builders don't require callback")}setDescription(t){throw new A("Named prompt builders don't require callback")}setTitle(t){throw new A("Named prompt builders don't require callback")}static get builder(){return new mt}}m([f(),h("design:type",String)],mt.prototype,"promptCategory",void 0),m([g(String),b(1),h("design:type",Array)],mt.prototype,"prefixes",void 0),m([b(1),g(String),h("design:type",Array)],mt.prototype,"suffixes",void 0);const ht=dt.builder.setName("example-prompt").setTitle("Example prompt").setDescription("Example prompt for testing").setArgsSchema(v.object({message:v.string().optional()})).setCb(async t=>{const e=t.message??"default";return{messages:[{role:"assistant",content:{type:"text",text:e}}],content:[],structuredContent:{message:e},result:{message:e}}}),ft=dt.builder.setName("interactive-jsdoc").setTitle("Interactive JSDoc prompt").setDescription("Interactive prompt for jogging JSDoc helpers").setArgsSchema(v.object({gist:v.string().optional()})).setCb(async t=>{const e=t.gist??"interactive jsdoc response";return{messages:[{role:"assistant",content:{type:"text",text:e}}],content:[],structuredContent:{message:e},result:{message:e}}}),yt=Object.assign(ft,{name:ft.getName()});var gt;function bt(t,e=[],r=[]){const s=mt.builder.setCategory(gt.DOCS).setName(t);return["prefix",...e].forEach(t=>s.addPrefix(t)),["suffix",...r].forEach(t=>s.addSuffix(t)),s}(t=>{t.DOCS="documentation",t.CODE="code"})(gt||(gt={}));const vt=[bt("class"),bt("constant"),bt("decorator"),bt("function"),bt("module"),bt("file"),bt("repo",[],["iterate"])],wt=v.object({className:v.string().describe("the class name to turn into a builder")}),St=[ht,yt,...vt,dt.builder.setName("ts-code-dp-builder").setTitle("Typescript builder design patter prompt").setDescription("for a class, with a defined set of properties, scafold a builder design pattern").setArgsSchema(wt).setReasoning(L.BASIC).setCb((t,e)=>(t.className=l(t.className),{messages:[{role:"user",content:{type:"text",text:`You're a senior TypeScript developer writing typescript code.You're a senior TypeScript developer writing typescript code.\nTransform the selected class into a builder design pattern implementation in Typescript.\nuse @decaf-ts validation decorators to enforce the validation of your builder.\n\n- must extend the Model Class from @decaf-ts/decorator-validation;\n- each property must be marked as protected;\n- each property must have a setter method that returns 'this' for chaining;\n- the build() method must validate the properties using hasErrors() method from Model class;\n- if validation fails, throw an error with the validation errors;\n- if validation passes, return an instance of the original class with the set properties;\n- optionally (but do so by default) add the static builder and from methods from the example;\n- if the clasee already follows the pattern but has properties without decoration or without setters, simple add them;\n\nexample:\n\noriginal class:\n\`\`\`typescript\nexport class ${t.className} {\n description!: string;\n name!: string = "default name";\n title!: string;\n age?: string;\n dateOfBirth!: Date;\n}}\n\`\`\` \n\nresulting builder pattern implementation:\n\`\`\`typescript\nexport class ${t.className}Builder extends Model {\n\n @minlength(10\n @required()\n protected description!: string;\n \n @required()\n protected name!: string = "default value;\n \n @required()\n protected title!: string;\n \n @min(18)\n protected age?: string;\n \n @date()\n protected dateOfBirth!: Date;\n\n protected constructor(arg?: ModelArg<${t.className}Builder>>) {\n super(arg);\n Model.fromModel(this, arg);\n }\n\n setDescription(value: string) {\n this.description = value;\n return this;\n }\n\n setName(value: string) {\n this.name = value;\n return this;\n }\n\n setTitle(value: string) {\n this.title = value;\n return this;\n }\n setAge(value: number) {\n this.age = value;\n return this;\n }\n setDate(value: Date) {\n this.age = value;\n return this;\n }\n \n build(...args: any[]): ${t.className}Builder | Promise<${t.className}Builder> {\n const errs = this.hasErrors();\n if (errs) throw new Error(errs.toString());\n \n return // code that builds OBJ here\n }\n \n static get builder(): ${t.className}Builder {\n return new ${t.className}Builder(); // static method to get a new builder instance\n }\n \n static from<K extends keyof ${t.className}Builder>(obj: K, ${t.className}Builder[K]): ${t.className}Builder {\n return new ${t.className}Builder(); // static method to create a builder from an object\n }\n}\n\`\`\` \n\n`}}],_meta:{}}))];class jt extends V{setAnnotations(t){return this.annotations=Object.assign(this.annotations,t),this}setCb(t){return this.cb=t,this}setInputSchema(t){return this.inputSchema=t,this}setOutputSchema(t){return this.outputSchema=t,this}constructor(t){super(t),this.annotations={readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1}}static get builder(){return new jt}build(t){const e=this.hasErrors();if(e)throw Error(e.toString());try{this.inputSchema&&X(this.inputSchema,"inputSchema"),this.outputSchema&&X(this.outputSchema,"outputSchema");const e=tt(this.inputSchema),r=tt(this.outputSchema);return t.registerTool(this.name,{title:this.title,description:this.description,inputSchema:e,outputSchema:r,annotations:this.annotations,_meta:{usage:{reasoning:this.reasoning,effort:this.effort,cost:this.cost}}},async(t,e)=>{const r=this.logFor(e);r.verbose(`Executing tool ${this.name} with args: ${JSON.stringify(t)}`),e._meta=Object.assign(e._meta||{},{usage:{reasoning:this.reasoning,effort:this.effort,cost:this.cost}});const s=await Promise.resolve(this.cb(t,e));return r.verbose(`Tool ${this.name} executed successfully.`),r.debug("Tool execution meta: "+JSON.stringify(s._meta)),s})}catch(t){const e=t?.message||t+"";if("string"==typeof e&&e.includes("already registered"))return o.for(this).warn(`Tool ${this.name} already registered - skipping duplicate registration`),{name:this.name};throw o.for(this).error("Error building tool",t),t}}}m([f(),h("design:type",Object)],jt.prototype,"annotations",void 0),m([f(),h("design:type",Object)],jt.prototype,"cb",void 0),m([f(),h("design:type",Function)],jt.prototype,"inputSchema",void 0);const xt=jt.builder.setName("example-tool").setTitle("Example tool").setDescription("A smoke tool used for quick testing").setInputSchema(v.object({})).setCb(async()=>({content:[{type:"text",text:"example tool ok"}],result:{status:"ok"}}));Object.assign(xt,{name:xt.getName()});const It=jt.builder.setName("file-summarizer").setTitle("File summarizer").setDescription("Summaries files for quick previews").setInputSchema(v.object({filePath:v.string().optional()})).setCb(async()=>({content:[{type:"text",text:"file summary stub"}],result:{summary:"file summary stub"}}));function kt(){try{let t=process.argv[1]?E.dirname(E.resolve(process.argv[1])):process.cwd();for(;;){const e=E.join(t,"package.json");if(r.existsSync(e))return JSON.parse(r.readFileSync(e,"utf-8"));const s=E.dirname(t);if(s===t)break;t=s}}catch{}return{}}Object.assign(It,{name:It.getName()});const Et=kt().version??"0.0.0",At=kt().name??"unknown";I.registerLibrary(At,Et);const Tt={mcpId:"decaf",name:"decaf-ts mcp server",title:"Decaf-TS MCP Server",description:"Provides precise coding assistance for the decaf-ts framework",version:Et,websiteUrl:"https://decaf-ts.github.io",repositoryUrl:"https://github.com/decaf-ts/mcp-server",license:"AGPL-3.0",workingDir:at,assetDir:lt(),contacts:[{name:"Decaf-TS",url:"https://decaf-ts.github.io"}],tags:"server,official,decaf-ts",metadata:{},icons:[{src:"workdocs/assets/favicon.svg",mimeType:"image/svg+xml",sizes:"any"}],jira:{host:process.env.JIRA__HOST||"decaf-ts.atlassian.net",email:process.env.JIRA__EMAIL||"",apiKey:process.env.JIRA__API_KEY||process.env.JIRA__APIKEY||"",projectKey:process.env.JIRA__PROJECT_KEY||void 0,issueType:process.env.JIRA__ISSUE_TYPE||void 0,parentIssue:process.env.JIRA__PARENT_ISSUE||void 0},level:u.error},Ot=d.accumulate(Tt);function Nt(){const{host:t,email:e,apiKey:r,projectKey:s,issueType:n}=Ot.jira;return{host:t?.trim(),email:e?.trim(),apiKey:r?.trim(),projectKey:s?.trim(),issueType:n?.trim(),parentIssue:Ot.jira.parentIssue?.trim()}}function Ct(){const t=Nt();return[{name:"JIRA__HOST",required:!0,description:"Atlassian host (e.g. decaf-ts.atlassian.net) where your Jira instance is hosted.",value:t.host},{name:"JIRA__EMAIL",required:!0,description:"Email address of the Jira account that has API access.",value:t.email},{name:"JIRA__API_KEY",required:!0,description:"API token created in your Atlassian profile (a.k.a. APIKEY alias) for authenticating requests.",sensitive:!0,value:t.apiKey},{name:"JIRA__PROJECT_KEY",required:!1,description:"Default Jira project key (e.g. DECAF) used when an issue creation request omits a project.",value:t.projectKey},{name:"JIRA__ISSUE_TYPE",required:!1,description:"Default Jira issue type (e.g. Task, Bug) used when creating issues without an explicit type.",value:t.issueType},{name:"JIRA__PARENT_ISSUE",required:!1,description:"Default parent issue key (e.g. DECAF-123) applied when a child issue is created without an explicit parent.",value:t.parentIssue}]}function Jt(t){const e=t.value?((t,e)=>{if(t)return e?"<configured>":t})(t.value,t.sensitive):"not set",r=t.required?"(required)":"(optional)";return`\u2022 ${t.name} ${r}: ${t.description} Current state: ${e}.`}o.setConfig(Ot);class Ht extends Error{constructor(t){const e=Ct(),r=(t=>{const e=Ct();return`${t.length?`Missing Jira credentials: ${t.map(t=>t.name).join(", ")}.`:"Jira credentials are configured."}\n\nThis setup uses the following environment variables:\n${e.map(Jt).join("\n")}`})(t);super(r),this.name="MissingJiraEnvironmentError",this.descriptors=e,this.missing=t,"function"==typeof Error.captureStackTrace&&Error.captureStackTrace(this,Ht)}}function _t(t){if(!t)return{code:"jira_error",message:"Unknown Jira error",details:{raw:t}};const e=t?.status??t?.statusCode??t?.response?.status??t?.response?.statusCode,r="number"==typeof e?e:Number(e)||void 0,s=t?.response?.data??t?.data??t?.response?.body??t?.body,n=[];"string"==typeof t?.message&&n.push(t.message),((t,e)=>{t&&(Array.isArray(t.errorMessages)&&t.errorMessages.forEach(t=>"string"==typeof t&&e.push(t)),"string"==typeof t.errorMessage&&e.push(t.errorMessage),t.errorCollection&&Array.isArray(t.errorCollection.errors)&&t.errorCollection.errors.forEach(t=>{"string"==typeof t?e.push(t):t&&"string"==typeof t.message&&e.push(t.message)}),t?.errors&&"object"==typeof t.errors&&Object.values(t.errors).forEach(t=>{"string"==typeof t?e.push(t):"string"==typeof t?.message&&e.push(t.message)}))})(s,n);const i=r?`Jira API error (${r})`:"Jira API error",o=n.length>0?n.join(" | "):i;return{code:r?"jira_"+r:t?.code??"jira_error",message:o,details:{httpStatus:r,body:s,raw:t}}}function $t(t={},e=[]){return{content:e,result:t,structuredContent:t}}const Dt=v.object({issueId:v.string().min(1),deleteSubtasks:v.boolean().optional().default(!0)}),Pt={name:"jira-issue-delete",inputSchema:Dt,runTool:async(t,e)=>{try{const r=Dt.parse(e),s=t.issues??t.issue??t,n=s?.delete??s?.deleteIssue;if("function"!=typeof n)throw Error("jira client delete endpoint is not available");return await n.call(s,{issueId:r.issueId,deleteSubtasks:r.deleteSubtasks}),$t({success:!0,message:`Issue ${e.issueId} deleted successfully`})}catch(t){throw _t(t)}}},Rt=v.object({projectKey:v.string().trim().min(1).optional(),issueType:v.string().trim().min(1).optional(),parentIssueId:v.string().trim().min(1).optional(),name:v.string().trim().min(1).optional(),reference:v.string().trim().min(1).optional(),jql:v.string().trim().min(1).optional(),startAt:v.number().int().min(0).optional(),maxResults:v.number().int().min(1).optional(),fields:v.array(v.string()).optional(),expand:v.string().optional(),orderBy:v.string().trim().min(1).optional()});function Mt(t){return t.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}const qt={name:"jira-issue-list",inputSchema:Rt,runTool:async(t,e)=>{try{const r=Rt.parse(e),s=r.startAt??0,n=r.maxResults??50;let i=r.jql?.trim();if(i){if(r.orderBy){const t=r.orderBy.trim();t&&(i=/\border\s+by\b/i.test(i)?`${i}, ${t}`:`${i} ORDER BY ${t}`)}}else i=(t=>{const e=[];if(t.projectKey&&e.push(`project = "${Mt(t.projectKey)}"`),t.issueType&&e.push(`issuetype = "${Mt(t.issueType)}"`),t.parentIssueId&&e.push(`parent = "${Mt(t.parentIssueId)}"`),t.name&&e.push(`summary ~ "${Mt(t.name)}"`),t.reference){const r=Mt(t.reference);e.push(`(key ~ "${r}" OR summary ~ "${r}" OR text ~ "${r}")`)}if(0===e.length){const t=Error("Provide a jql query or at least one filter (project, name, reference, parent, issue type, etc.).");throw t.code="validation_error",t}let r=e.join(" AND ");if(t.orderBy){const e=t.orderBy.trim();e&&(r=/\border\s+by\b/i.test(r)?`${r}, ${e}`:`${r} ORDER BY ${e}`)}return r})(r);const o={jql:i,startAt:s,maxResults:n};r.fields&&(o.fields=r.fields),r.expand&&(o.expand=r.expand);const a=t.issueSearch,c=a&&"function"==typeof a.searchForIssuesUsingJqlEnhancedSearch?a.searchForIssuesUsingJqlEnhancedSearch:a&&"function"==typeof a.searchForIssuesUsingJql?a.searchForIssuesUsingJql:void 0;if(!c)throw Error("Jira search API is unavailable on the client");const p=await c.call(a,o);return $t(p?.data??p)}catch(t){throw _t(t)}}},Ft=v.object({issueId:v.string().min(1),expand:v.string().optional(),fields:v.array(v.string()).optional(),properties:v.array(v.string()).optional()}),Bt={name:"jira-issue-read",inputSchema:Ft,runTool:async(t,e)=>{try{const r=Ft.parse(e),s={issueIdOrKey:r.issueId};r.expand&&(s.expand=r.expand),r.fields&&(s.fields=r.fields),r.properties&&(s.properties=r.properties);const n=await t.issues.get(s);return $t(n?.data??n)}catch(t){throw _t(t)}}};function Wt(t,e,r){const s=((t.url??"")+"").match(/^(attachment|jira-attachment):(.+)$/i);if(!s)return null;const n=s[2],i=r.resolveAttachment?.(n);return i?{type:"block",node:{type:"mediaSingle",attrs:{layout:"center"},content:[{type:"media",attrs:{type:"file",id:i.id,collection:i.collection??"attachments"}}]}}:null}function Ut(t,e){if(!t)return[];if(!e.enableAtMentions&&!e.enableEmojiShortcodes)return[{type:"text",text:t}];let r=0;const s=[],n=/(^|[^A-Za-z0-9_])@([A-Za-z0-9._-]{1,64})/g,i=/:([a-z0-9_+-]{1,64}):/gi;for(;r<t.length;){const o=Kt(e.enableAtMentions?Lt(n,t,r):null,e.enableEmojiShortcodes?Lt(i,t,r):null);if(!o){s.push({type:"text",text:t.slice(r)});break}if(o.index>r&&s.push({type:"text",text:t.slice(r,o.index)}),"mention"===o.kind){const{full:t,groups:n}=o,i=n[0]??"",a=n[1]??"";i&&s.push({type:"text",text:i});const c=e.resolveMention?.(a);c?s.push({type:"mention",attrs:{id:c.id,text:c.text}}):s.push({type:"text",text:"@"+a}),r=o.index+t.length;continue}if("emoji"===o.kind){const{full:t,groups:n}=o,i=`:${n[0]}:`,a=e.resolveEmoji?.(i);s.push({type:"emoji",attrs:a?{shortName:a.shortName,text:a.text}:{shortName:i}}),r=o.index+t.length;continue}}return(t=>{const e=[];for(const r of t){const t=e[e.length-1];"text"!==r.type||"text"!==t?.type||t.marks||r.marks?e.push(r):t.text=(t.text??"")+(r.text??"")}return e})(s)}function Lt(t,e,r){t.lastIndex=r;const s=t.exec(e);if(!s)return null;const n=t.source.includes("@")?"mention":"emoji";return{index:s.index,full:s[0],groups:s.slice(1),kind:n}}function Kt(t,e){return t?e&&t.index>e.index?e:t:e}function zt(t){const e=(t.children??[])[0];return"text"===e?.type?(e.value??"")+"":"paragraph"===e?.type?((e.children??[]).map(t=>"text"===t.type?(t.value??"")+"":"").join("")||"")+"":""}function Yt(t){const e=((t??"")+"").toLowerCase().trim();return e?"info"===e||"note"===e||"success"===e||"warning"===e||"error"===e?e:"danger"===e?"error":null:null}function Gt(t){const e=((t??"")+"").toLowerCase().trim();return!e||"neutral"!==e&&"green"!==e&&"yellow"!==e&&"red"!==e&&"blue"!==e&&"purple"!==e?null:e}function Zt(t,e){const r=[];for(const s of t??[])if(s?.type)if("text"!==s.type)if("strong"!==s.type)if("emphasis"!==s.type)if("delete"!==s.type)if("inlineCode"!==s.type)if("break"!==s.type){if("link"===s.type){const t=(s.url??"")+"",n=Qt(s.children??[],t),i=Wt(s,0,e);if(i){"inline"===i.type?r.push(i.node):r.push({type:"text",text:n,marks:[{type:"link",attrs:{href:t}}]});continue}if(e.enableSmartCards&&Xt(n,t)){r.push({type:"inlineCard",attrs:{url:t}});continue}r.push({type:"text",text:n,marks:[{type:"link",attrs:{href:t}}]});continue}if("textDirective"===s.type&&"status"===s.name){const t=zt(s)||"Status",e=Gt(s.attributes?.color)??"neutral";r.push({type:"status",attrs:{text:t,color:e}});continue}if("textDirective"===s.type&&"emoji"===s.name){const t=te(s);r.push(ee(t,e));continue}}else r.push({type:"hardBreak"});else r.push({type:"text",text:(s.value??"")+"",marks:[{type:"code"}]});else r.push(...Vt(Zt(s.children??[],e),{type:"strike"}));else r.push(...Vt(Zt(s.children??[],e),{type:"em"}));else r.push(...Vt(Zt(s.children??[],e),{type:"strong"}));else r.push(...Ut((s.value??"")+"",e));return r.filter(t=>!("text"===t.type&&""===(t.text??"")))}function Vt(t,e){return t.map(t=>{if("text"!==t.type)return t;const r=t.marks?[...t.marks,e]:[e];return{...t,marks:r}})}function Qt(t,e){const r=[];for(const e of t??[])"text"===e.type||"inlineCode"===e.type?r.push((e.value??"")+""):"emphasis"!==e.type&&"strong"!==e.type&&"delete"!==e.type||r.push(Qt(e.children??[],""));return r.join("")||e}function Xt(t,e){const r=(t??"").trim(),s=(e??"").trim();return r===s&&/^https?:\/\//i.test(s)}function te(t){return(t.children??[]).map(t=>"text"===t.type?(t.value??"")+"":"").join("").trim()||""}function ee(t,e){const r=t.startsWith(":")?t:`:${t}:`,s=e.resolveEmoji?.(r);return s?{type:"emoji",attrs:{shortName:s.shortName,text:s.text}}:{type:"emoji",attrs:{shortName:r}}}function re(t){return t?"string"==typeof t?t:"text"===t.type||"inlineCode"===t.type?(t.value??"")+"":Array.isArray(t.children)?t.children.map(re).join(""):"":""}function se(t,e){if(!t?.type)return null;if((t=>"containerDirective"===t?.type&&"panel"===t?.name)(t))return((t,e)=>{const r=t.attributes??{},s=Yt(r.type)??"info",n="string"==typeof r.title?r.title:void 0,i=(t.children??[]).map(t=>se(t,e)).flat().filter(Boolean);return{type:"panel",attrs:{panelType:s,...n?{panelType:s,title:n}:{panelType:s}},content:i.length?i:[{type:"paragraph",content:[]}]}})(t,e);switch(t.type){case"heading":return{type:"heading",attrs:{level:ie(t.depth??1,1,6)},content:Zt(t.children??[],e)};case"paragraph":return(t=>{const e=t.children??[];if(1!==e.length)return null;const r=e[0];if("image"!==r?.type)return null;const s=(r.url??"")+"";return s?{type:"mediaSingle",attrs:{layout:"center"},content:[{type:"media",attrs:{type:"external",url:s}}]}:null})(t)||{type:"paragraph",content:Zt(t.children??[],e)};case"blockquote":return{type:"blockquote",content:(t.children??[]).map(t=>se(t,e)).flat().filter(Boolean)};case"list":return((t,e)=>e.enableTaskLists&&(t.children??[]).some(t=>"boolean"==typeof t.checked)?((t,e)=>{const r=[];let s=0;for(const n of t.children??[]){if("boolean"!=typeof n.checked)continue;s+=1;const t=(n.children??[]).map(t=>se(t,e)).flat().filter(Boolean);r.push({type:"taskItem",attrs:{localId:"task-"+s,state:n.checked?"DONE":"TODO"},content:t.length?t:[{type:"paragraph",content:[]}]})}return{type:"taskList",content:r}})(t,e):{type:t.ordered?"orderedList":"bulletList",content:(t.children??[]).map(t=>((t,e)=>{const r=(t.children??[]).map(t=>se(t,e)).flat().filter(Boolean);return{type:"listItem",content:r.length?r:[{type:"paragraph",content:[]}]}})(t,e))})(t,e);case"code":{const r=((t,e)=>{const r=(t??"").toString().trim().toLowerCase();return r?e.enableMermaid&&"mermaid"===r?"mermaid":(t=>{const e=t.trim().toLowerCase();return{js:"javascript",javascript:"javascript",jsx:"javascript",ts:"typescript",typescript:"typescript",tsx:"typescript",py:"python",python:"python",rb:"ruby",ruby:"ruby",sh:"bash",bash:"bash",zsh:"bash",shell:"bash",yml:"yaml",yaml:"yaml",json:"json",toml:"toml",xml:"xml",html:"html",css:"css",scss:"scss",sql:"sql",go:"go",rust:"rust",java:"java",c:"c",cpp:"cpp","c++":"cpp",cs:"csharp",csharp:"csharp",php:"php",kotlin:"kotlin",swift:"swift",md:"markdown",markdown:"markdown",graphql:"graphql",gql:"graphql",dockerfile:"docker",makefile:"make",ini:"ini"}[e]??e})(r):null})(t.lang,e);return{type:"codeBlock",attrs:{language:r},content:[{type:"text",text:(t.value??"")+""}]}}case"thematicBreak":return{type:"rule"};case"table":return((t,e)=>({type:"table",content:(t.children??[]).map((t,r)=>({type:"tableRow",content:(t.children??[]).map(t=>({type:0===r?"tableHeader":"tableCell",content:[{type:"paragraph",content:Zt(t.children??[],e)}]}))}))}))(t,e);case"leafDirective":return"status"===t.name?(t=>{const e=Gt((t.attributes??{}).color)??"neutral";return{type:"paragraph",content:[{type:"status",attrs:{text:zt(t)||"Status",color:e}}]}})(t):"panel"===t.name?((t,e)=>{const r=t.attributes??{},s=Yt(r.type)??"info",n="string"==typeof r.title?r.title:void 0;return{type:"panel",attrs:{panelType:s,...n?{title:n}:{}},content:[{type:"paragraph",content:Zt([{type:"text",value:zt(t)}],e)}]}})(t,e):ne(t,e);default:return ne(t,e)}}function ne(t,e){if("drop"===e.unknownNodeStrategy)return null;const r=re(t);return r?{type:"paragraph",content:[{type:"text",text:r}]}:null}function ie(t,e,r){const s=Number.isFinite(t)?Math.trunc(t):e;return Math.max(e,Math.min(r,s))}const oe={resolveMention:void 0,resolveAttachment:void 0,resolveEmoji:void 0,enableSmartCards:!0,enableMermaid:!0,enableEmojiShortcodes:!0,enableAtMentions:!0,enableTaskLists:!0,unknownNodeStrategy:"text"};function ae(t,e={}){const r={...oe,...e},s=t??"",n=H().use(D).use($).use(_),i=n.parse(s),o=n.runSync(i);return ce(o),((t,e)=>{const r=[];for(const s of t.children??[]){const t=se(s,e);t&&(Array.isArray(t)?r.push(...t):r.push(t))}return((t,e)=>{if(!e.enableSmartCards)return t;const r=t.content.map(t=>(t=>{if("paragraph"!==t.type)return t;const e=t.content??[];if(1!==e.length)return t;const r=e[0];if("inlineCard"!==r?.type)return t;const s=r.attrs?.url;return s?[{type:"blockCard",attrs:{url:s}}]:t})(t)).flat();return{...t,content:r}})({version:1,type:"doc",content:r},e)})(o,r)}function ce(t){if(!t||!Array.isArray(t.children))return;const e=[];for(const r of t.children)"definition"!==r?.type&&("html"!==r?.type?(ce(r),e.push(r)):e.push({type:"text",value:(r.value??"")+""}));t.children=e}const pe=v.object({issueId:v.string().min(1),transitionId:v.union([v.string(),v.number()]),fields:v.record(v.any()).optional(),update:v.record(v.array(v.object({set:v.any().optional(),add:v.any().optional(),remove:v.any().optional()}))).optional(),comment:v.string().optional()}),le={name:"jira-issue-transition",inputSchema:pe,runTool:async(t,e)=>{try{const r=pe.parse(e),s={id:r.transitionId};r.fields&&(s.fields=r.fields),r.update&&(s.update=r.update),r.comment&&(s.comment={body:ae(r.comment)});const n=await t.issues.transition({issueId:r.issueId,transition:s});return $t(n?.data??n)}catch(t){throw _t(t)}}},ue=v.object({issueId:v.string().min(1),fields:v.record(v.any()).optional(),update:v.record(v.array(v.object({set:v.any().optional(),add:v.any().optional(),remove:v.any().optional(),edit:v.any().optional()}))).optional(),properties:v.array(v.any()).optional(),notifyUsers:v.boolean().optional().default(!0),issueTemplateId:v.string().optional(),overrideScreenSecurity:v.boolean().optional().default(!1),overrideEditableFlag:v.boolean().optional().default(!1)}),de={name:"jira-issue-update",inputSchema:ue,runTool:async(t,e)=>{try{const r=ue.parse(e),s={issueId:r.issueId};r.fields&&(s.fields=r.fields),r.update&&(s.update=r.update),r.properties&&(s.properties=r.properties),void 0!==r.notifyUsers&&(s.notifyUsers=r.notifyUsers),r.issueTemplateId&&(s.issueTemplateId=r.issueTemplateId),void 0!==r.overrideScreenSecurity&&(s.overrideScreenSecurity=r.overrideScreenSecurity),void 0!==r.overrideEditableFlag&&(s.overrideEditableFlag=r.overrideEditableFlag);const n=await t.issues.update(s);return $t(n?.data??n)}catch(t){throw _t(t)}}},me=v.object({issueId:v.string().min(1),assignee:v.union([v.string(),v.object({accountId:v.string().min(1)}),v.object({accountType:v.string().min(1)})])}),he={name:"jira-assign-issue",inputSchema:me,runTool:async(t,e)=>{try{const r=me.parse(e);let s;s="string"==typeof r.assignee?{accountId:r.assignee}:r.assignee;const n=await t.issues.assign({issueId:r.issueId,assignee:s});return $t(n?.data??n)}catch(t){throw _t(t)}}},fe=v.object({issueId:v.string().min(1)}),ye={name:"jira-unassign-issue",inputSchema:fe,runTool:async(t,e)=>{try{const r=fe.parse(e),s=await t.issues.assign({issueId:r.issueId,assignee:{accountId:"-1"}});return $t(s?.data??s)}catch(t){throw _t(t)}}},ge=v.object({issueId:v.string().min(1),body:v.string().min(1),visibility:v.object({type:v.enum(["role","group"]),value:v.string().min(1)}).optional()}),be={name:"jira-comment-add",inputSchema:ge,runTool:async(t,e)=>{try{const r=ge.parse(e),s={body:ae(r.body)};r.visibility&&(s.visibility=r.visibility);const n=await t.issues.addComment({issueId:r.issueId,comment:s});return $t(n?.data??n)}catch(t){throw _t(t)}}},ve=v.object({issueId:v.string().min(1),start:v.number().optional().default(0),maxResults:v.number().optional().default(50),orderBy:v.string().optional(),expand:v.string().optional()}),we={name:"jira-comment-list",inputSchema:ve,runTool:async(t,e)=>{try{const r=ve.parse(e),s=await t.issues.getComments({issueId:r.issueId,start:r.start,maxResults:r.maxResults,orderBy:r.orderBy,expand:r.expand});return $t(s?.data??s)}catch(t){throw _t(t)}}},Se=v.object({link:v.object({relationship:v.enum(["Blocks","Relates to","Duplicates","Is blocked by","Is related to","Is duplicated by","Causes","Is caused by","Clone","Required","Work on","Split","Roll up"]),inwardIssue:v.object({id:v.string().optional(),key:v.string().optional()}),outwardIssue:v.object({id:v.string().optional(),key:v.string().optional()}),comment:v.object({body:v.string().optional(),visibility:v.object({type:v.enum(["role","group"]),value:v.string().min(1)}).optional()}).optional()})}),je={name:"jira-link-create",inputSchema:Se,runTool:async(t,e)=>{try{const r=Se.parse(e).link,s={relationship:r.relationship,inwardIssue:r.inwardIssue.id||r.inwardIssue.key,outwardIssue:r.outwardIssue.id||r.outwardIssue.key};r.comment&&(r.comment.body&&(s.comment=ae(r.comment.body)),r.comment.visibility&&(s.visibility=r.comment.visibility));const n=await t.issues.link(s);return $t(n?.data??n)}catch(t){throw _t(t)}}},xe=v.object({issueId:v.string().min(1),file:v.string().min(1),mimeType:v.string().optional(),comment:v.string().optional()}),Ie={name:"jira-attach",inputSchema:xe,runTool:async(t,e)=>{try{const r=xe.parse(e),n=E.resolve(r.file),i=await s.readFile(n),o=E.basename(n),a=await t.issues.addAttachment({issueId:r.issueId,file:{name:o,content:i,mimeType:r.mimeType??"application/octet-stream"},comment:r.comment});return $t(a?.data??a)}catch(t){if(t&&t.code&&"string"==typeof t.code&&["ENOENT","EACCES"].includes(t.code))throw Error("Attachment file error: "+t.message);throw _t(t)}}},ke=v.object({issueId:v.string().min(1)}),Ee={name:"jira-attachment-list",inputSchema:ke,runTool:async(t,e)=>{try{const r=ke.parse(e),s=await t.issues.getAttachments({issueId:r.issueId});return $t(s?.data??s)}catch(t){throw _t(t)}}},Ae=v.object({issueId:v.string().min(1),attachmentId:v.string().min(1)}),Te={name:"jira-attachment-delete",inputSchema:Ae,runTool:async(t,e)=>{try{const r=Ae.parse(e);return await t.issues.deleteAttachment({issueId:r.issueId,attachmentId:r.attachmentId}),$t({success:!0,message:`Attachment ${e.attachmentId} deleted successfully`})}catch(t){throw _t(t)}}},Oe=v.object({issueId:v.string().min(1),timeSpent:v.string().min(1),comment:v.string().optional(),author:v.object({accountId:v.string().min(1)}).optional(),startingOn:v.string().optional(),artifact:v.string().optional()}),Ne={name:"jira-worklog-add",inputSchema:Oe,runTool:async(t,e)=>{try{const r=Oe.parse(e),s={timeSpent:r.timeSpent};r.comment&&(s.comment=r.comment),r.author&&(s.author=r.author),r.startingOn&&(s.started=r.startingOn),r.artifact&&(s.artifact=r.artifact);const n=await t.issues.addWorklog({issueId:r.issueId,...s});return $t(n?.data??n)}catch(t){throw _t(t)}}},Ce={[Bt.name]:{title:"Jira Issue Read",description:"Read a Jira issue with expandable fields and properties",annotations:{readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1}},[qt.name]:{title:"Jira Issue List",description:"Search issues by summary, reference, parent, or JQL and list the matching tickets",annotations:{readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1}},[de.name]:{title:"Jira Issue Update",description:"Update a Jira issue using fields, update ops, and property toggles",annotations:{readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1,openWorldHint:!0}},[Pt.name]:{title:"Jira Issue Delete",description:"Delete a Jira issue and optionally remove its subtasks",annotations:{readOnlyHint:!1,destructiveHint:!0,idempotentHint:!1,openWorldHint:!0}},[le.name]:{title:"Jira Issue Transition",description:"Transition a Jira issue while optionally adding a comment",annotations:{readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1,openWorldHint:!0}},[he.name]:{title:"Jira Issue Assign",description:"Assign a Jira issue to a user or account",annotations:{readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1,openWorldHint:!0}},[ye.name]:{title:"Jira Issue Unassign",description:"Unassign the current owner from a Jira issue",annotations:{readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1,openWorldHint:!0}},[be.name]:{title:"Jira Comment Add",description:"Add a comment to a Jira issue with optional visibility",annotations:{readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1,openWorldHint:!0}},[we.name]:{title:"Jira Comment List",description:"List comments on a Jira issue with pagination support",annotations:{readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1}},[je.name]:{title:"Jira Link Create",description:"Create an issue link relationship with optional comment",annotations:{readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1,openWorldHint:!0}},[Ie.name]:{title:"Jira Attachment Add",description:"Attach a local file to a Jira issue",annotations:{readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1,openWorldHint:!0}},[Ee.name]:{title:"Jira Attachment List",description:"List attachments on a Jira issue",annotations:{readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1}},[Te.name]:{title:"Jira Attachment Delete",description:"Delete an attachment from a Jira issue",annotations:{readOnlyHint:!1,destructiveHint:!0,idempotentHint:!1,openWorldHint:!0}},[Ne.name]:{title:"Jira Worklog Add",description:"Log time spent on a Jira issue",annotations:{readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1,openWorldHint:!0}}};async function Je(t){const e=o.for(Je);let r,s=null;try{r=(()=>{let t;try{const e=require("jira.js");t=e?.Version3Client||e.default?.Version3Client||e.default||e}catch(t){throw Error("Unable to require 'jira.js' \u2014 ensure it is installed as a dependency: "+t)}const{host:e,email:r,apiKey:s}=(()=>{const t=Nt(),e=Ct().filter(t=>t.required&&!t.value);if(e.length>0)throw new Ht(e);return{host:t.host,email:t.email,apiKey:t.apiKey}})();return new t({host:e.startsWith("http://")||e.startsWith("https://")?e:"https://"+e,authentication:{basic:{email:r,apiToken:s}}})})()}catch(t){if(!(t instanceof Ht))return void e.warn("Skipping Jira tool registration; unable to create Jira client",{error:t});s=t,e.warn("Registering Jira tools without credentials; each tool will report configuration requirements.",{error:t})}const n=[Bt,qt,de,Pt,le,he,ye,be,we,je,Ie,Ee,Te,Ne];for(const i of n){const n=Ce[i.name];if(n)try{await t.registerTool(i.name,{title:n.title,description:n.description,inputSchema:tt(i.inputSchema),annotations:n.annotations},async t=>{if(!r)throw s??Error("Jira client unavailable because credentials could not be loaded.");return i.runTool(r,t)}),e.info("Registered Jira tool "+i.name)}catch(t){e.error("Failed to register Jira tool "+i.name,{error:t})}}}async function He(t){await(async t=>{t.registerTool("decaf-server-info",{title:"Decaf MCP Server Info",description:"Return server metadata, version, and registered prompt names for diagnostics.",inputSchema:{},outputSchema:void 0,annotations:{readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1}},async()=>{const t=St.map(t=>t.getName()).sort();return{content:[{type:"text",text:["Name: "+Ot.name,"Title: "+Ot.title,"Version: "+Ot.version,"Prompts: "+(t.join(", ")||"<none>")].join("\n")}]}})})(t);const e=o.for(He);try{await Je(t)}catch(t){e.error("Failed to register Jira tools",t)}}class _e extends Z{setCb(t){return this.cb=t,this}setConfig(t){return this.config=t,this}setUriOtTemplate(t){return this.uriOrTemplate=t,this}constructor(t){super(t)}static get builder(){return new _e}build(t){const e=this.hasErrors();if(e)throw Error(e.toString());try{const e="string"==typeof this.uriOrTemplate&&this.uriOrTemplate.includes("{")?new R(new P(this.uriOrTemplate),{list:void 0}):this.uriOrTemplate,r=Object.assign(this.config,{_meta:{}}),s=async(t,e)=>{const r=this.logFor(e);r.verbose(`Requesting resource ${this.name} from ${t.toString()}`);const s=await Promise.resolve(this.cb(t,e));return r.verbose(`Resource ${this.name} retrieved successfully.`),r.debug("Resource retrieval meta: "+JSON.stringify(s._meta)),s};return t.resource(this.name,e,r,s)}catch(t){throw o.for(this).error("Error registering resource "+this.name,t),t}}}m([f(),h("design:type",String)],_e.prototype,"uriOrTemplate",void 0),m([f(),h("design:type",Function)],_e.prototype,"cb",void 0),m([f(),h("design:type",Object)],_e.prototype,"config",void 0);const $e=lt()??k.join(__dirname,"..","assets"),De=k.join($e,"templates"),Pe=k.join($e,"prompts"),Re=new WeakMap;class Me extends a{get client(){const t=Re.get(this);if(!t)throw Error("Mcp server requires Mcp client");return t}constructor(){super()}async load(){const t=this.log.for(this.load);for(const e of St)try{t.info("loading prompt "+e.getName());const r=e.build(this.client);t.verbose(`Loaded prompt ${r.title} from ${e.getName()} definition`)}catch(r){t.error("Failed to load prompt "+e.getName(),r)}try{await He(this.client),t.verbose("Registered built-in tools")}catch(t){}try{await(async(t,r)=>{r.info("Registering agent templates as resources...");const s=e.readdirSync(De).filter(t=>t.endsWith(".md"));for(const n of s){const s=k.basename(n,".md"),i=k.join(De,n),o=_e.builder.setName(s).setTitle("Template: "+s).setDescription("Resource template for "+s).setUriOtTemplate("file:///"+i).setConfig({mimeType:"text/markdown",description:"Template for "+s}).setCb(async t=>{const r=e.readFileSync(t.pathname,"utf8");return{contents:[{uri:t.toString(),text:r,mimeType:"text/markdown"}],_meta:{}}});try{o.build(t),r.info("Registered template: "+s)}catch(t){r.error(`Failed to register template ${s}:`,t)}}r.info("Registering agent prompts...");const n=e.readdirSync(Pe).filter(t=>t.endsWith(".md"));for(const s of n){const n=k.basename(s,".md"),i=k.join(Pe,s),o=e.readFileSync(i,"utf8"),a=dt.builder.setName(n).setTitle("Prompt: "+n).setDescription("Dynamic prompt for "+n).setArgsSchema(v.object({})).setCb(async t=>({messages:[{role:"user",content:{type:"text",text:o}}],_meta:{}}));try{a.build(t),r.info("Registered prompt: "+n)}catch(t){r.error(`Failed to register prompt ${n}:`,t)}}})(this.client,t)}catch(t){}}async boot(t="stdio"){"stdio"===t&&o.setFactory(U),o.for(this.constructor.name);const e=((Array.isArray(Ot.icons)?Ot.icons:[Ot.icons])||[]).map(t=>{const e="string"==typeof t?.src?t.src:(t?.src??"")+"",r="string"==typeof t?.mimeType?t.mimeType:(t?.mimeType??"")+"";let s=[];return Array.isArray(t?.sizes)?s=t.sizes.map(t=>t+""):"string"==typeof t?.sizes&&(s=(t.sizes+"").split(",").map(t=>t.trim())),{src:e,mimeType:r,sizes:s}}),r={name:Ot.name,title:Ot.title,websiteUrl:Ot.websiteUrl,version:Ot.version,icons:e},s=new M(r,{instructions:"You are an AI assistant designed to help users with programming tasks related to the Decaf-TS framework. \nProvide clear, concise, and accurate information.\nIf you don't know the answer, admit it rather than making up information.\nAlways prioritize the user's intent and provide helpful suggestions when appropriate.\n",capabilities:{logging:{},tools:{},prompts:{}}});switch(((t,e)=>{Re.set(t,e)})(this,s),s.onerror=t=>{this.log.error("MCP instance onerror",t)},t){case"stdio":t=new F;break;case"http":t=new B({sessionIdGenerator:()=>q(),onsessioninitialized:t=>{},onsessionclosed:t=>{},enableJsonResponse:!0,eventStore:void 0});break;default:if(!(n=t)||"object"!=typeof n||"function"!=typeof n.send&&"function"!=typeof n.close&&"function"!=typeof n.on)throw new A("Invalid transport type: "+t)}var n;try{await this.load()}catch(t){throw t}await this.client.connect(t)}}const qe=(new t).command("start").option("--transport [String]","transport mode","stdio").description("starts decaf's mcp server").action(async t=>{const e=ct("package.json"),s=JSON.parse(r.readFileSync(e,"utf-8")),n=s.version,{transport:i}=t,o=(new W).for("mcp-server");if("stdio"!==i)throw Error("Unsupported transport mode: "+i);return o.info("Transport stdio"),o.debug(`running with options: ${JSON.stringify(t)} for ${s.name} version ${n}`),(new Me).boot(i)});(new t).command("md-to-ast").description("pipes markdown to jira ast: `cat file.md` | npx decaf-mcp md-to-ast > ast.json").action(async t=>{const e=ct("package.json"),s=JSON.parse(r.readFileSync(e,"utf-8")),n=s.version;o.for("md-to-ast").debug(`running with options: ${JSON.stringify(t)} for ${s.name} version ${n}`);const i=ae(await(async()=>{const t=[];for await(const e of process.stdin)t.push(Buffer.from(e));return Buffer.concat(t).toString("utf8")})(),{resolveMention:t=>({id:t,text:"@"+t}),resolveAttachment:t=>({id:t,collection:"attachments"})});process.stdout.write(JSON.stringify(i,null,2)+"\n")});const Fe=(new t).name("mcp-server").command("mcp-server").description("decaf mcp server and agentic functionality");Fe.addCommand(qe),Fe.parse(process.argv);
2
2
  //# sourceMappingURL=mcp-server.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-server.js","sources":["../src/utils/stdio-error-logger.ts","../src/constants.ts","../src/utils/constants.ts","../src/builders/builder.ts","../src/jira/schema-utils.ts","../src/utils/obfuscation.ts","../src/utils/project-root.ts","../src/utils/asset-path.ts","../src/utils/assets.ts","../src/utils/conversions.ts","../src/builders/prompt-builder.ts","../src/prompts/example-prompt.ts","../src/prompts/interactive-jsdoc.ts","../src/prompts/contants.ts","../src/prompts/jsdocs-prompts.ts","../src/prompts/code/design-patterns/builder.ts","../src/prompts/index.ts","../src/builders/tool-builder.ts","../src/tools/example-tool.ts","../src/tools/file-summarizer/index.ts","../src/version.ts","../src/utils/environment.ts","../src/modules/jira/jira-environment.ts","../src/modules/jira/error-normalizer.ts","../src/modules/jira/tools/issue-delete.ts","../src/modules/jira/schemas/list-issues-input.ts","../src/modules/jira/tools/issue-list.ts","../src/modules/jira/tools/issue-read.ts","../src/modules/jira/adf/pipeline/convertMedia.ts","../src/modules/jira/adf/pipeline/textRuns.ts","../src/modules/jira/adf/pipeline/directive-utils.ts","../src/modules/jira/adf/pipeline/convertInline.ts","../src/modules/jira/adf/pipeline/textify.ts","../src/modules/jira/adf/pipeline/convertBlock.ts","../src/modules/jira/adf/pipeline/convertList.ts","../src/modules/jira/adf/pipeline/languageMap.ts","../src/modules/jira/adf/pipeline/convertTable.ts","../src/modules/jira/adf/markdownToAdf.ts","../src/modules/jira/adf/pipeline/convertRoot.ts","../src/modules/jira/adf/pipeline/normalizeDoc.ts","../src/modules/jira/schemas/issue-transition-input.ts","../src/modules/jira/tools/issue-transition.ts","../src/modules/jira/tools/issue-update.ts","../src/modules/jira/schemas/update-issue-input.ts","../src/modules/jira/tools/assign.ts","../src/modules/jira/schemas/assign-issue-input.ts","../src/modules/jira/tools/unassign.ts","../src/modules/jira/tools/comment-add.ts","../src/modules/jira/schemas/add-comment-input.ts","../src/modules/jira/tools/comment-list.ts","../src/modules/jira/schemas/list-comments-input.ts","../src/modules/jira/tools/link-create.ts","../src/modules/jira/schemas/create-link-input.ts","../src/modules/jira/tools/attach.ts","../src/modules/jira/schemas/attach-issue-input.ts","../src/modules/jira/tools/attachment-list.ts","../src/modules/jira/tools/attachment-delete.ts","../src/modules/jira/tools/worklog-add.ts","../src/modules/jira/schemas/add-worklog-input.ts","../src/modules/jira/register-utils.ts","../src/modules/jira/makeJiraClient.ts","../src/tools/index.ts","../src/tools/server-info.ts","../src/builders/resource-builder.ts","../src/agent/registrations.ts","../src/mcp-server.ts","../src/utils/initialization.ts","../src/utils/utils.ts","../src/cli-module.ts","../src/bin/cli.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["StdioErrorLogger","MiniLogger","constructor","context","conf","baseContext","super","log","level","msg","error","meta","confLvl","this","config","NumericLogLevels","stdioErrorLoggerFactory","_args","loggerName","name","ctor","resolveContextName","ReasoningLevel","EffortLevel","Cost","Paths","AssetCategory","Builder","Model","_log","Logging","for","arg","logFor","extra","sessionId","requestId","authInfo","length","clientId","toString","setDescription","value","description","getDescription","setName","getName","setTitle","title","__decorate","required","prototype","UsableBuilder","reasoning","NONE","effort","cost","FREE","setReasoning","setEffort","setCost","findUnderlyingZodObject","s","cur","def","_def","typeName","schema","innerType","undefined","ensureZodObject","defLike","shape","type","normalizedShape","key","Object","entries","isZodSchema","z","any","object","Error","extractShape","MAGIC","Buffer","from","findPackageRoot","start","current","path","resolve","fs","existsSync","join","parent","dirname","entryPointRoot","process","argv","moduleDir","stack","lines","split","slice","line","match","filePath","startsWith","fileURLToPath","includes","getModuleDirFromStack","moduleRoot","projectRoot","cwd","resolveProjectPath","segments","findAssetsDir","startDir","libAssets","srcAssets","plainAssets","resolveAssetsDir","explicit","env","DECAF_ASSET_DIR","MCP_ASSET_DIR","ASSET_DIR","moduleAssets","__dirname","entry","fromEntry","roots","INIT_CWD","filter","Boolean","root","found","AssetReader","LoggedClass","basePath","listAssets","folder","assetDir","readdirSync","listPrompts","PROMPT","getAsset","format","categories","readFile","target","useEnc","input","subarray","equals","keyMaterial","ENCRYPTION_KEY","offset","salt","iv","tag","ciphertext","crypto","scryptSync","deriveKey","decipher","createDecipheriv","setAuthTag","plaintext","concat","update","final","zlib","gunzipSync","decryptObfuscatedPayload","readFileSync","err","code","direct","fallback","getAllAssets","category","reduce","acc","fileName","extWithDot","extname","basename","replace","toPromptDef","normalizeLevel","lvl","BASIC","ADVANCED","HIGH","MEDIUM","LOW","InternalError","toLevel","toLowerCase","getPrompt","text","toSnakeCase","JSON","parse","e","SerializationError","getAllPrompts","texts","prompt","injectable","PromptBuilder","setCb","cb","setArgsSchema","argsSchema","builder","patchPrompt","placeholders","replacements","missing","Array","isArray","keys","p","hasOwnProperty","call","ValidationError","verbose","stringify","debug","filteredReplacements","sf","build","server","errs","hasErrors","argsShape","registerPrompt","async","args","assign","_meta","usage","result","Promise","inject","ZodObject","prop","NamedPromptBuilder","setCategory","promptCategory","addPrefix","prefixes","push","addSuffix","suffixes","promptDef","assets","fromObject","toIgnoreProps","Set","Metadata","properties","k","forEach","add","map","argSchema","flat","el","string","describe","parsePlaceholders","messages","role","content","list","String","minlength","ExamplePrompt","message","optional","structuredContent","gist","InteractiveJsDocPrompt","PromptCategories","namedPromptBuilder","extraPrefix","extraSuffix","pb","DOCS","JsDocPrompts","className","Prompts","toPascalCase","ToolBuilder","setAnnotations","annotations","setInputSchema","inputSchema","setOutputSchema","outputSchema","readOnlyHint","destructiveHint","idempotentHint","openWorldHint","inputShape","outputShape","registerTool","warn","status","summary","readPkg","dir","candidate","VERSION","version","PACKAGE_NAME","registerLibrary","DefaultMcpEnvironment","mcpId","websiteUrl","repositoryUrl","license","workingDir","contacts","url","tags","metadata","icons","src","mimeType","sizes","jira","host","JIRA__HOST","email","JIRA__EMAIL","apiKey","JIRA__API_KEY","JIRA__APIKEY","projectKey","JIRA__PROJECT_KEY","issueType","JIRA__ISSUE_TYPE","parentIssue","JIRA__PARENT_ISSUE","LogLevel","Environment","LoggedEnvironment","accumulate","normalizeEnvConfig","trim","createJiraEnvDescriptors","sensitive","formatDescriptor","descriptor","state","maskValue","qualifier","setConfig","MissingJiraEnvironmentError","descriptors","requiredMissing","d","describeJiraEnvironment","captureStackTrace","normalizeJiraError","details","raw","statusCandidate","statusCode","response","httpStatus","Number","body","data","collector","errorMessages","errorMessage","errorCollection","errors","chunk","values","val","collectMessages","fallbackMessage","issueId","min","deleteSubtasks","boolean","default","JiraIssueDelete","runTool","client","parsed","transport","issues","issue","deleteFn","delete","deleteIssue","success","listIssuesInputSchema","parentIssueId","reference","jql","startAt","number","int","maxResults","fields","array","expand","orderBy","escapeJqlValue","JiraIssueList","jqlToRun","orderClause","test","clauses","escapedReference","buildJqlFromFilters","payload","search","JiraIssueRead","issueIdOrKey","get","attachmentInlineOrMedia","linkNode","linkText","opts","m","token","ref","resolveAttachment","node","attrs","layout","id","collection","parseTextRuns","enableAtMentions","enableEmojiShortcodes","i","out","mentionRe","emojiRe","next","minMatch","findNext","index","kind","full","groups","prefix","handle","resolved","resolveMention","shortName","resolveEmoji","nodes","n","last","marks","coalesceText","re","lastIndex","exec","source","a","b","extractDirectiveLabel","first","children","c","normalizePanelType","v","normalizeStatusColor","convertInline","child","href","inlineText","attachment","enableSmartCards","isNakedUrl","color","attributes","extractDirectiveText","emojiNode","wrapMark","mark","pieces","sn","textify","convertBlock","isContainerDirective","panelType","innerBlocks","convertPanelDirective","clampInt","depth","paragraphNode","only","convertMediaFromParagraph","listNode","enableTaskLists","some","li","checked","items","idx","blocks","localId","convertTaskList","ordered","listItem","convertList","lang","enableMermaid","js","javascript","jsx","ts","typescript","tsx","py","python","rb","ruby","sh","bash","zsh","shell","yml","yaml","json","toml","xml","html","css","scss","sql","go","rust","java","cpp","cs","csharp","php","kotlin","swift","md","markdown","graphql","gql","dockerfile","makefile","ini","languageMap","normalizeCodeLanguage","language","tableNode","row","rowIndex","cell","convertTable","convertStatusDirective","convertPanelDirectiveLeaf","unknown","unknownNodeStrategy","t","max","x","isFinite","Math","trunc","DEFAULTS","markdownToAdf","options","processor","unified","use","remarkParse","remarkGfm","remarkDirective","tree","transformed","runSync","cleanNodes","doc","liftBlockCards","normalizeDoc","convertRoot","nextChildren","transitionId","union","record","set","remove","comment","JiraIssueTransition","transitionPayload","transition","edit","notifyUsers","issueTemplateId","overrideScreenSecurity","overrideEditableFlag","JiraIssueUpdate","assignee","accountId","accountType","JiraAssignIssue","JiraUnassignIssue","visibility","enum","JiraCommentAdd","addComment","JiraCommentList","getComments","link","relationship","inwardIssue","outwardIssue","JiraLinkCreate","linkPayload","file","JiraAttachIssue","fileBuffer","addAttachment","JiraAttachmentList","getAttachments","attachmentId","JiraAttachmentDelete","deleteAttachment","timeSpent","author","startingOn","artifact","JiraWorklogAdd","worklog","started","addWorklog","toolConfigs","registerJiraTools","jiraClient","missingEnvError","Version3Client","mod","require","rawHost","authEmail","authToken","ensureJiraCredentials","authentication","basic","apiToken","makeJiraClient","registrations","tool","info","registerTools","promptNames","sort","registerServerInfoTool","ResourceBuilder","setUriOtTemplate","uriOrTemplate","uriOrTemplateArg","ResourceTemplate","UriTemplate","readCb","uri","resource","ASSETS_DIR","TEMPLATES_DIR","PROMPTS_DIR","MCP_STORE","WeakMap","McpServer","mcp","load","templateFiles","endsWith","resourceBuilder","pathname","contents","promptFiles","promptContent","promptBuilder","registerAgentAssets","boot","transportType","setFactory","normalizedIcons","serverInfo","MCP","instructions","capabilities","logging","tools","prompts","writeMcp","onerror","StdioServerTransport","StreamableHTTPServerTransport","sessionIdGenerator","v4","onsessioninitialized","onsessionclosed","enableJsonResponse","eventStore","send","close","on","connect","mcpServer","Command","command","option","action","pkgPath","pkg","adf","chunks","stdin","readStdin","stdout","write","mainCmd","addCommand"],"mappings":"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"}
1
+ {"version":3,"file":"mcp-server.js","sources":["../src/utils/stdio-error-logger.ts","../src/constants.ts","../src/utils/constants.ts","../src/builders/builder.ts","../src/jira/schema-utils.ts","../src/utils/obfuscation.ts","../src/utils/project-root.ts","../src/utils/asset-path.ts","../src/utils/assets.ts","../src/utils/conversions.ts","../src/builders/prompt-builder.ts","../src/prompts/example-prompt.ts","../src/prompts/interactive-jsdoc.ts","../src/prompts/contants.ts","../src/prompts/jsdocs-prompts.ts","../src/prompts/code/design-patterns/builder.ts","../src/prompts/index.ts","../src/builders/tool-builder.ts","../src/tools/example-tool.ts","../src/tools/file-summarizer/index.ts","../src/version.ts","../src/utils/environment.ts","../src/modules/jira/jira-environment.ts","../src/modules/jira/error-normalizer.ts","../src/modules/jira/tool-result.ts","../src/modules/jira/tools/issue-delete.ts","../src/modules/jira/schemas/list-issues-input.ts","../src/modules/jira/tools/issue-list.ts","../src/modules/jira/tools/issue-read.ts","../src/modules/jira/adf/pipeline/convertMedia.ts","../src/modules/jira/adf/pipeline/textRuns.ts","../src/modules/jira/adf/pipeline/directive-utils.ts","../src/modules/jira/adf/pipeline/convertInline.ts","../src/modules/jira/adf/pipeline/textify.ts","../src/modules/jira/adf/pipeline/convertBlock.ts","../src/modules/jira/adf/pipeline/convertList.ts","../src/modules/jira/adf/pipeline/languageMap.ts","../src/modules/jira/adf/pipeline/convertTable.ts","../src/modules/jira/adf/markdownToAdf.ts","../src/modules/jira/adf/pipeline/convertRoot.ts","../src/modules/jira/adf/pipeline/normalizeDoc.ts","../src/modules/jira/schemas/issue-transition-input.ts","../src/modules/jira/tools/issue-transition.ts","../src/modules/jira/tools/issue-update.ts","../src/modules/jira/schemas/update-issue-input.ts","../src/modules/jira/tools/assign.ts","../src/modules/jira/schemas/assign-issue-input.ts","../src/modules/jira/tools/unassign.ts","../src/modules/jira/tools/comment-add.ts","../src/modules/jira/schemas/add-comment-input.ts","../src/modules/jira/tools/comment-list.ts","../src/modules/jira/schemas/list-comments-input.ts","../src/modules/jira/tools/link-create.ts","../src/modules/jira/schemas/create-link-input.ts","../src/modules/jira/tools/attach.ts","../src/modules/jira/schemas/attach-issue-input.ts","../src/modules/jira/tools/attachment-list.ts","../src/modules/jira/tools/attachment-delete.ts","../src/modules/jira/tools/worklog-add.ts","../src/modules/jira/schemas/add-worklog-input.ts","../src/modules/jira/register-utils.ts","../src/modules/jira/makeJiraClient.ts","../src/tools/index.ts","../src/tools/server-info.ts","../src/builders/resource-builder.ts","../src/agent/registrations.ts","../src/mcp-server.ts","../src/utils/initialization.ts","../src/utils/utils.ts","../src/cli-module.ts","../src/bin/cli.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["StdioErrorLogger","MiniLogger","constructor","context","conf","baseContext","super","log","level","msg","error","meta","confLvl","this","config","NumericLogLevels","stdioErrorLoggerFactory","_args","loggerName","name","ctor","resolveContextName","ReasoningLevel","EffortLevel","Cost","Paths","AssetCategory","Builder","Model","_log","Logging","for","arg","logFor","extra","sessionId","requestId","authInfo","length","clientId","toString","setDescription","value","description","getDescription","setName","getName","setTitle","title","__decorate","required","prototype","UsableBuilder","reasoning","NONE","effort","cost","FREE","setReasoning","setEffort","setCost","findUnderlyingZodObject","s","cur","def","_def","typeName","schema","innerType","undefined","ensureZodObject","defLike","shape","type","normalizedShape","key","Object","entries","isZodSchema","z","any","object","Error","extractShape","MAGIC","Buffer","from","findPackageRoot","start","current","path","resolve","fs","existsSync","join","parent","dirname","entryPointRoot","process","argv","moduleDir","stack","lines","split","slice","line","match","filePath","startsWith","fileURLToPath","includes","getModuleDirFromStack","moduleRoot","projectRoot","cwd","resolveProjectPath","segments","findAssetsDir","startDir","libAssets","srcAssets","plainAssets","resolveAssetsDir","explicit","env","DECAF_ASSET_DIR","MCP_ASSET_DIR","ASSET_DIR","moduleAssets","__dirname","entry","fromEntry","roots","INIT_CWD","filter","Boolean","root","found","AssetReader","LoggedClass","basePath","listAssets","folder","assetDir","readdirSync","listPrompts","PROMPT","getAsset","format","categories","readFile","target","useEnc","input","subarray","equals","keyMaterial","ENCRYPTION_KEY","offset","salt","iv","tag","ciphertext","crypto","scryptSync","deriveKey","decipher","createDecipheriv","setAuthTag","plaintext","concat","update","final","zlib","gunzipSync","decryptObfuscatedPayload","readFileSync","err","code","direct","fallback","getAllAssets","category","reduce","acc","fileName","extWithDot","extname","basename","replace","toPromptDef","normalizeLevel","lvl","BASIC","ADVANCED","HIGH","MEDIUM","LOW","InternalError","toLevel","toLowerCase","getPrompt","text","toSnakeCase","JSON","parse","e","SerializationError","getAllPrompts","texts","prompt","injectable","PromptBuilder","setCb","cb","setArgsSchema","argsSchema","builder","patchPrompt","placeholders","replacements","missing","Array","isArray","keys","p","hasOwnProperty","call","ValidationError","verbose","stringify","debug","filteredReplacements","sf","build","server","errs","hasErrors","argsShape","registerPrompt","async","args","assign","_meta","usage","result","Promise","inject","ZodObject","prop","NamedPromptBuilder","setCategory","promptCategory","addPrefix","prefixes","push","addSuffix","suffixes","promptDef","assets","fromObject","toIgnoreProps","Set","Metadata","properties","k","forEach","add","map","argSchema","flat","el","string","describe","parsePlaceholders","messages","role","content","list","String","minlength","ExamplePrompt","message","optional","structuredContent","gist","InteractiveJsDocPrompt","PromptCategories","namedPromptBuilder","extraPrefix","extraSuffix","pb","DOCS","JsDocPrompts","className","Prompts","toPascalCase","ToolBuilder","setAnnotations","annotations","setInputSchema","inputSchema","setOutputSchema","outputSchema","readOnlyHint","destructiveHint","idempotentHint","openWorldHint","inputShape","outputShape","registerTool","warn","status","summary","readPkg","dir","candidate","VERSION","version","PACKAGE_NAME","registerLibrary","DefaultMcpEnvironment","mcpId","websiteUrl","repositoryUrl","license","workingDir","contacts","url","tags","metadata","icons","src","mimeType","sizes","jira","host","JIRA__HOST","email","JIRA__EMAIL","apiKey","JIRA__API_KEY","JIRA__APIKEY","projectKey","JIRA__PROJECT_KEY","issueType","JIRA__ISSUE_TYPE","parentIssue","JIRA__PARENT_ISSUE","LogLevel","Environment","LoggedEnvironment","accumulate","normalizeEnvConfig","trim","createJiraEnvDescriptors","sensitive","formatDescriptor","descriptor","state","maskValue","qualifier","setConfig","MissingJiraEnvironmentError","descriptors","requiredMissing","d","describeJiraEnvironment","captureStackTrace","normalizeJiraError","details","raw","statusCandidate","statusCode","response","httpStatus","Number","body","data","collector","errorMessages","errorMessage","errorCollection","errors","chunk","values","val","collectMessages","fallbackMessage","toCallToolResult","payload","issueId","min","deleteSubtasks","boolean","default","JiraIssueDelete","runTool","client","parsed","transport","issues","issue","deleteFn","delete","deleteIssue","success","listIssuesInputSchema","parentIssueId","reference","jql","startAt","number","int","maxResults","fields","array","expand","orderBy","escapeJqlValue","JiraIssueList","jqlToRun","orderClause","test","clauses","escapedReference","buildJqlFromFilters","searchApi","issueSearch","searchFn","searchForIssuesUsingJqlEnhancedSearch","searchForIssuesUsingJql","JiraIssueRead","issueIdOrKey","get","attachmentInlineOrMedia","linkNode","linkText","opts","m","token","ref","resolveAttachment","node","attrs","layout","id","collection","parseTextRuns","enableAtMentions","enableEmojiShortcodes","i","out","mentionRe","emojiRe","next","minMatch","findNext","index","kind","full","groups","prefix","handle","resolved","resolveMention","shortName","resolveEmoji","nodes","n","last","marks","coalesceText","re","lastIndex","exec","source","a","b","extractDirectiveLabel","first","children","c","normalizePanelType","v","normalizeStatusColor","convertInline","child","href","inlineText","attachment","enableSmartCards","isNakedUrl","color","attributes","extractDirectiveText","emojiNode","wrapMark","mark","pieces","sn","textify","convertBlock","isContainerDirective","panelType","innerBlocks","convertPanelDirective","clampInt","depth","paragraphNode","only","convertMediaFromParagraph","listNode","enableTaskLists","some","li","checked","items","idx","blocks","localId","convertTaskList","ordered","listItem","convertList","lang","enableMermaid","js","javascript","jsx","ts","typescript","tsx","py","python","rb","ruby","sh","bash","zsh","shell","yml","yaml","json","toml","xml","html","css","scss","sql","go","rust","java","cpp","cs","csharp","php","kotlin","swift","md","markdown","graphql","gql","dockerfile","makefile","ini","languageMap","normalizeCodeLanguage","language","tableNode","row","rowIndex","cell","convertTable","convertStatusDirective","convertPanelDirectiveLeaf","unknown","unknownNodeStrategy","t","max","x","isFinite","Math","trunc","DEFAULTS","markdownToAdf","options","processor","unified","use","remarkParse","remarkGfm","remarkDirective","tree","transformed","runSync","cleanNodes","doc","liftBlockCards","normalizeDoc","convertRoot","nextChildren","transitionId","union","record","set","remove","comment","JiraIssueTransition","transitionPayload","transition","edit","notifyUsers","issueTemplateId","overrideScreenSecurity","overrideEditableFlag","JiraIssueUpdate","assignee","accountId","accountType","JiraAssignIssue","JiraUnassignIssue","visibility","enum","JiraCommentAdd","addComment","JiraCommentList","getComments","link","relationship","inwardIssue","outwardIssue","JiraLinkCreate","linkPayload","file","JiraAttachIssue","fileBuffer","addAttachment","JiraAttachmentList","getAttachments","attachmentId","JiraAttachmentDelete","deleteAttachment","timeSpent","author","startingOn","artifact","JiraWorklogAdd","worklog","started","addWorklog","toolConfigs","registerJiraTools","jiraClient","missingEnvError","Version3Client","mod","require","rawHost","authEmail","authToken","ensureJiraCredentials","authentication","basic","apiToken","makeJiraClient","registrations","tool","info","registerTools","promptNames","sort","registerServerInfoTool","ResourceBuilder","setUriOtTemplate","uriOrTemplate","uriOrTemplateArg","ResourceTemplate","UriTemplate","readCb","uri","resource","ASSETS_DIR","TEMPLATES_DIR","PROMPTS_DIR","MCP_STORE","WeakMap","McpServer","mcp","load","templateFiles","endsWith","resourceBuilder","pathname","contents","promptFiles","promptContent","promptBuilder","registerAgentAssets","boot","transportType","setFactory","normalizedIcons","serverInfo","MCP","instructions","capabilities","logging","tools","prompts","writeMcp","onerror","StdioServerTransport","StreamableHTTPServerTransport","sessionIdGenerator","v4","onsessioninitialized","onsessionclosed","enableJsonResponse","eventStore","send","close","on","connect","mcpServer","Command","command","option","action","pkgPath","pkg","adf","chunks","stdin","readStdin","stdout","write","mainCmd","addCommand"],"mappings":"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"}