@decaf-ts/mcp-server 1.0.7 → 1.0.9

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 (42) 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/mode_commands.enc +0 -0
  18. package/dist/assets/prompts/plan_commands.enc +0 -0
  19. package/dist/assets/prompts/repository/readme.enc +0 -0
  20. package/dist/assets/prompts/repository/release_notes.enc +0 -0
  21. package/dist/assets/prompts/repository/setup.enc +0 -0
  22. package/dist/assets/prompts/specification_commands.enc +0 -0
  23. package/dist/assets/prompts/startup_command.enc +0 -0
  24. package/dist/assets/prompts/task_commands.enc +0 -0
  25. package/dist/assets/prompts/tests/coverage.enc +0 -0
  26. package/dist/assets/templates/AGENTS.enc +0 -0
  27. package/dist/assets/templates/agents_template.enc +0 -0
  28. package/dist/assets/templates/constitution_template.enc +0 -0
  29. package/dist/assets/templates/decaf/context/logCtx.enc +0 -0
  30. package/dist/assets/templates/decaf/services/client_based_service.enc +0 -0
  31. package/dist/assets/templates/decaf/services/model_service.enc +0 -0
  32. package/dist/assets/templates/decaf/services/service.enc +0 -0
  33. package/dist/assets/templates/decaf_guidelines.enc +0 -0
  34. package/dist/assets/templates/instructions_template.enc +0 -0
  35. package/dist/assets/templates/plan_template.enc +0 -0
  36. package/dist/assets/templates/specification_template.enc +6 -0
  37. package/dist/assets/templates/task_template.enc +0 -0
  38. package/dist/mcp-server.cjs +1 -1
  39. package/dist/mcp-server.cjs.map +1 -1
  40. package/dist/mcp-server.js +1 -1
  41. package/dist/mcp-server.js.map +1 -1
  42. package/package.json +3 -1
Binary file
@@ -0,0 +1,6 @@
1
+ DCAF1� %(ܝ�uxIx
2
+ j�yz��f��
3
+ �5E�u�v���ҙ1���I����XJ�,��"����jJnv��h`���s����W����ڂ[�hr�`g�!��q��&Hů+� mL�>^H㟶ϟ���u��R�=T���9%h����=���ʞR�h"R$�UC��=��xU����~���0c�K�Mv�S�n��`��u��
4
+ 3�<��
5
+ �f@F���Q ��`䫓]�\�qd���>"j��o}-N�ʛ:�S�χ�S�?�Q�Y
6
+ ��F+�_�[w
@@ -1,3 +1,3 @@
1
1
  #!/usr/bin/env node
2
- var e,t;e=this,t=function(e,t,r,s,o,i,n,a,c,d,p,l,h,u,f,m){"use strict";function g(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function y(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach(r=>{if("default"!==r){var s=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,s.get?s:{enumerable:!0,get:()=>e[r]})}}),t.default=e,Object.freeze(t)}var b=y(r),S=y(s),_=g(p),v=g(l);const w=["\x1b[38;5;215m","\x1b[38;5;209m","\x1b[38;5;205m","\x1b[38;5;210m","\x1b[38;5;217m","\x1b[38;5;216m","\x1b[38;5;224m","\x1b[38;5;230m","\x1b[38;5;230m"];var j,E,O,N,x;(e=>{e[e.NONE=0]="NONE",e[e.BASIC=1]="BASIC",e[e.ADVANCED=2]="ADVANCED",e[e.HIGH=3]="HIGH"})(j||(j={})),(e=>{e[e.NONE=0]="NONE",e[e.LOW=1]="LOW",e[e.MEDIUM=2]="MEDIUM",e[e.HIGH=3]="HIGH"})(E||(E={})),(e=>{e[e.FREE=0]="FREE",e[e.LOW=1]="LOW",e[e.MEDIUM=2]="MEDIUM",e[e.HIGH=3]="HIGH"})(O||(O={}));class P extends i.Model{get log(){return this._log||(this._log=e.Logging.for(this)),this._log}constructor(e){super(e)}logFor(e){const{sessionId:t,requestId:r,authInfo:s}=e||{};let o="string"==typeof t&&t.length>0?this.log.for(t):this.log;return s&&s.clientId&&(o=o.for(s.clientId)),r&&(o=o.for(r.toString())),o}setDescription(e){return this.description=e,this}getDescription(){return this.description}setName(e){return this.name=e,this}getName(){return this.name}setTitle(e){return this.title=e,this}}o.__decorate([i.required(),o.__metadata("design:type",String)],P.prototype,"description",void 0),o.__decorate([i.required(),o.__metadata("design:type",String)],P.prototype,"name",void 0),o.__decorate([i.required(),o.__metadata("design:type",String)],P.prototype,"title",void 0);class A extends P{constructor(e){super(e),this.reasoning=j.NONE,this.effort=E.NONE,this.cost=O.FREE}setReasoning(e){return this.reasoning=e,this}setEffort(e){return this.effort=e,this}setCost(e){return this.cost=e,this}}function T(e){if(!e)return;let t=e,r=t&&t._def;for(;r&&"ZodObject"!==r.typeName;){if("ZodEffects"===r.typeName&&r.schema)t=r.schema;else if("ZodOptional"===r.typeName&&r.innerType)t=r.innerType;else if("ZodDefault"===r.typeName&&r.innerType)t=r.innerType;else if("ZodNullable"===r.typeName&&r.innerType)t=r.innerType;else{if(!r.schema)return;t=r.schema}r=t&&t._def}return r&&"ZodObject"===r.typeName?r:void 0}function D(e,t="schema"){if(T(e))return e;if(e&&"object"==typeof e){const t=e.def&&"object"==typeof e.def?e.def:void 0,r=t&&(t.shape||"object"===t.type)&&t.shape||("object"===e.type?e.shape:void 0)||(t&&"object"===t.type?{}:void 0);if(t||"object"===e.type||r){const e={};if(r&&"object"==typeof r)for(const[t,s]of Object.entries(r))e[t]=C(s)?s:n.z.any();return n.z.object(e)}}throw Error(`Registration error: provided a non-canonical ${t}. Export a ZodObject (z.object(...)).`)}function I(e){if(!e)return;if(e&&"object"==typeof e&&!e._def)return e.def&&"object"==typeof e.def&&e.def.shape?e.def.shape:e;const t=T(e);return t?"function"==typeof t.shape?t.shape():t.shape||void 0:void 0}function C(e){return!(!e||"object"!=typeof e||!e._def)}function q(e){switch(e){case"none":return j.NONE;case"basic":return j.BASIC;case"advanced":return j.ADVANCED;case"high":return j.HIGH;case"medium":return E.MEDIUM;case"low":return O.LOW;case"free":return O.FREE;default:throw new d.InternalError("Cannon convert unknown level "+e)}}o.__decorate([i.required(),o.__metadata("design:type",Number)],A.prototype,"reasoning",void 0),o.__decorate([i.required(),o.__metadata("design:type",Number)],A.prototype,"effort",void 0),o.__decorate([i.required(),o.__metadata("design:type",Number)],A.prototype,"cost",void 0),(e=>{e.ASSETS="assets"})(N||(N={})),(e=>{e.PROMPT="prompts",e.DOCUMENTATION="documentation",e.CODE="code"})(x||(x={}));const M=Buffer.from("DCAF1","ascii");function k(e){if(e.length<M.length+16+12+16)throw Error("Invalid prompt payload (too short)");if(!e.subarray(0,M.length).equals(M))throw Error("Invalid prompt payload (bad magic)");const t=process.env.ENCRYPTION_KEY||"";if(!t)throw Error("Missing encryption key. Set ENCRYPTION_KEY to load obfuscated assets.");let r=M.length;const s=e.subarray(r,r+16);r+=16;const o=e.subarray(r,r+12);r+=12;const i=e.subarray(r,r+16);r+=16;const n=e.subarray(r),a=((e,t)=>_.default.scryptSync(e,t,32))(t,s),c=_.default.createDecipheriv("aes-256-gcm",a,o);c.setAuthTag(i);const d=Buffer.concat([c.update(n),c.final()]);return v.default.gunzipSync(d)}function z(e){let t=e;for(;;){const e=b.join(t,"lib","assets");if(S.existsSync(e))return e;const r=b.join(t,"src","assets");if(S.existsSync(r))return r;const s=b.join(t,"assets");if(S.existsSync(s))return s;const o=b.dirname(t);if(o===t)break;t=o}}function H(){const e=process.env.DECAF_ASSET_DIR||process.env.MCP_ASSET_DIR||process.env.ASSET_DIR||"";if(e&&S.existsSync(e))return e;const t=process.argv?.[1];if(t){const e=z(b.dirname(t));if(e)return e}const r=[process.cwd(),process.env.INIT_CWD].filter(Boolean);for(const e of r){const t=z(e);if(t)return t}return b.join(process.cwd(),"assets")}let F=class extends e.LoggedClass{constructor(e){super(),this.basePath=e||H()}listAssets(...e){const t=b.join(this.basePath,...e);return S.readdirSync(t)}listPrompts(){return this.listAssets(x.PROMPT)}getAsset(e,t="md",...r){const s=b.join(this.basePath,...r),o=b.join(s,`${e}.${t}`);if(S.existsSync(o))return"enc"===t?k(S.readFileSync(o)).toString("utf-8"):S.readFileSync(o,"utf-8");const i=b.join(s,e+".enc");if(S.existsSync(i))return k(S.readFileSync(i)).toString("utf-8");throw Error("Asset not found: "+b.join(s,`${e}.${t}`))}getAllAssets(e,...t){return this.listAssets(e,...t).reduce((r,s)=>{const o=b.extname(s),i=b.basename(s,o),n=o.replace(/^\./,"")||void 0;return r[i]=this.getAsset(i,n??void 0,e,...t),r},{})}toPromptDef(e){return e.effort=q(e.effort),e.reasoning=q(e.reasoning),e.cost=q(e.cost),e}getPrompt(t,...r){const s=this.getAsset(e.toSnakeCase(t),"json",x.PROMPT,...r);let o;try{o=JSON.parse(s)}catch(e){throw new d.SerializationError(`Failed to parse prompt ${t} in categories ${r}: ${e}`)}return this.toPromptDef(o)}getAllPrompts(...e){const t=this.getAllAssets(x.PROMPT,...e);return Object.entries(t).reduce((t,[r,s])=>{try{t[r]=JSON.parse(s)}catch(t){throw new d.SerializationError(`Failed to parse prompt ${r} in categories ${e}: ${t}`)}return t},t)}};F=o.__decorate([a.injectable(),o.__metadata("design:paramtypes",[String])],F);class L extends A{constructor(e){super(e)}setCb(e){return this.cb=e,this}setArgsSchema(e){return this.argsSchema=e,this}static get builder(){return new L}static patchPrompt(t,r,s,o){const i=(r=Array.isArray(r)?r:Object.keys(r)).filter(e=>!Object.prototype.hasOwnProperty.call(s,e));if(i.length)throw new d.ValidationError("Missing replacements for placeholders: "+i.join(", "));o&&(o.verbose("Patching prompt with placeholders: "+JSON.stringify(r)),o.debug("Values: "+JSON.stringify(s)));const n=r.reduce((e,t)=>(e[t]=s[t],e),{});return e.sf(t,n)}patchPrompt(e,t,r,s){return L.patchPrompt(e,t,r,s||this.log.for(this.patchPrompt))}build(e,t){const r=this.log.for(this.build),s=this.hasErrors();if(s)throw new d.ValidationError(s.toString());try{this.argsSchema&&D(this.argsSchema,"argsSchema");const r=I(this.argsSchema);return e.registerPrompt(this.name,{title:this.title,description:this.description,argsSchema:r},async(e,r)=>{const s=this.logFor(r);e=Object.assign({},t,e||{}),s.verbose(`Executing prompt ${this.name} with args: ${JSON.stringify(e)}`),e._meta=Object.assign(e._meta||{},{usage:{reasoning:this.reasoning,effort:this.effort,cost:this.cost}});const o=await Promise.resolve(this.cb(e,r));return s.verbose(`Prompt ${this.name} executed successfully.`),s.debug("Prompt execution meta: "+JSON.stringify(o._meta)),o})}catch(e){throw r.error("Failed to register prompt "+(this.name||this.constructor.name),e),e}}}o.__decorate([a.inject(F),o.__metadata("design:type",F)],L.prototype,"assets",void 0),o.__decorate([i.required(),o.__metadata("design:type",Object)],L.prototype,"cb",void 0),o.__decorate([i.required(),o.__metadata("design:type",n.ZodObject)],L.prototype,"argsSchema",void 0),o.__decorate([c.prop(),o.__metadata("design:type",Object)],L.prototype,"placeholders",void 0);class $ extends L{setCategory(e){return this.promptCategory=e,this}addPrefix(e){return this.prefixes=this.prefixes||[],this.prefixes.push(e),this}addSuffix(e){return this.suffixes=this.suffixes||[],this.suffixes.push(e),this}constructor(e){super(e)}build(e){const t=this.assets.getPrompt(this.name,this.promptCategory);i.Model.fromObject(this,t);const r=new Set((c.Metadata.properties($)||[]).filter(e=>!["assets","promptCategory","prefixes","suffixes"].includes(e)));["cb","argsSchema"].forEach(e=>r.add(e));const s=this.hasErrors(...Array.from(r));if(s)throw new d.ValidationError(s.toString());const o=(this.prefixes||[]).map(e=>this.assets.getPrompt(e,this.promptCategory)),a=(this.suffixes||[]).map(e=>this.assets.getPrompt(e,this.promptCategory)),p=[...new Set([...t.placeholders,...o.map(e=>e.placeholders||[]),...a.map(e=>e.placeholders||[])].flat())].reduce((e,t)=>(e[t]=n.z.string().describe("The description for "+t),e),{});return this.setArgsSchema(n.z.object(p)),this.setCb((e,t)=>{const r=this.logFor(t).for($).for(this.promptCategory).for(this.name);function s(e=[]){return Array.isArray(e)?e:Object.keys(e)}const o=(this.prefixes||[]).map(e=>this.assets.getPrompt(e,this.promptCategory)),i=(this.suffixes||[]).map(e=>this.assets.getPrompt(e,this.promptCategory)),n=this.assets.getPrompt(this.name,this.promptCategory),a=[...new Set([...o.map(e=>s(e.placeholders)).flat(),...i.map(e=>s(e.placeholders)).flat(),...s(n.placeholders).flat()])];return{messages:[{role:"user",content:{type:"text",text:this.patchPrompt([...o.map(e=>e.prompt),n.prompt,...i.map(e=>e.prompt)].join("\n\n"),a,e,r)}}],_meta:{}}}),super.build(e)}setReasoning(e){throw new d.InternalError("Named prompt builders don't require callback")}setEffort(e){throw new d.InternalError("Named prompt builders don't require callback")}setCost(e){throw new d.InternalError("Named prompt builders don't require callback")}setDescription(e){throw new d.InternalError("Named prompt builders don't require callback")}setTitle(e){throw new d.InternalError("Named prompt builders don't require callback")}static get builder(){return new $}}var R;function G(e,t=[],r=[]){const s=$.builder.setCategory(R.DOCS).setName(e);return["prefix",...t].forEach(e=>s.addPrefix(e)),["suffix",...r].forEach(e=>s.addSuffix(e)),s}o.__decorate([i.required(),o.__metadata("design:type",String)],$.prototype,"promptCategory",void 0),o.__decorate([i.list(String),i.minlength(1),o.__metadata("design:type",Array)],$.prototype,"prefixes",void 0),o.__decorate([i.minlength(1),i.list(String),o.__metadata("design:type",Array)],$.prototype,"suffixes",void 0),(e=>{e.DOCS="documentation",e.CODE="code"})(R||(R={}));const J=[G("class"),G("constant"),G("decorator"),G("function"),G("module"),G("file"),G("repo",[],["iterate"])];class U extends A{setAnnotations(e){return this.annotations=Object.assign(this.annotations,e),this}setCb(e){return this.cb=e,this}setInputSchema(e){return this.inputSchema=e,this}setOutputSchema(e){return this.outputSchema=e,this}constructor(e){super(e),this.annotations={readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1}}static get builder(){return new U}build(t){const r=this.hasErrors();if(r)throw Error(r.toString());try{this.inputSchema&&D(this.inputSchema,"inputSchema"),this.outputSchema&&D(this.outputSchema,"outputSchema");const e=I(this.inputSchema),r=I(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(e,t)=>{const r=this.logFor(t);r.verbose(`Executing tool ${this.name} with args: ${JSON.stringify(e)}`),t._meta=Object.assign(t._meta||{},{usage:{reasoning:this.reasoning,effort:this.effort,cost:this.cost}});const s=await Promise.resolve(this.cb(e,t));return r.verbose(`Tool ${this.name} executed successfully.`),r.debug("Tool execution meta: "+JSON.stringify(s._meta)),s})}catch(t){const r=t?.message||t+"";if("string"==typeof r&&r.includes("already registered"))return e.Logging.for(this).warn(`Tool ${this.name} already registered - skipping duplicate registration`),{name:this.name};throw e.Logging.for(this).error("Error building tool",t),t}}}o.__decorate([i.required(),o.__metadata("design:type",Object)],U.prototype,"annotations",void 0),o.__decorate([i.required(),o.__metadata("design:type",Object)],U.prototype,"cb",void 0),o.__decorate([i.required(),o.__metadata("design:type",Function)],U.prototype,"inputSchema",void 0);const V="##VERSION##";c.Metadata.registerLibrary("##PACKAGE##",V);const Z={mcpId:"decaf",name:"decaf-ts mcp server",title:"Decaf-TS MCP Server",description:"Provides precise coding assistance for the decaf-ts framework",version:V,websiteUrl:"https://decaf-ts.github.io",repositoryUrl:"https://github.com/decaf-ts/mcp-server",license:"AGPL-3.0",workingDir:process.cwd(),assetDir:H(),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:"decaf-ts.atlassian.net",email:"",apiKey:""},level:e.LogLevel.error},B=e.LoggedEnvironment.accumulate(Z);e.Logging.setConfig(B);const W=n.z.object({}),Y=[U.builder.setName("decaf.server-info").setTitle("Decaf MCP Server Info").setDescription("Return server metadata, version, and registered prompt names for quick diagnostics.").setInputSchema(W).setCb(async(e,t)=>{const r=J.map(e=>e.getName()).sort();return{content:[{type:"text",text:["Name: "+B.name,"Title: "+B.title,"Version: "+B.version,"Prompts: "+(r.join(", ")||"<none>")].join("\n")}]}})];class K extends e.LoggedClass{get client(){if(!this._mcp)throw Error("Mcp server requires Mcp client");return this._mcp}constructor(){super()}async load(){const e=this.log.for(this.load);for(const t of J)try{e.info("loading prompt "+t.getName());const r=t.build(this.client);e.verbose(`Loaded prompt ${r.title} from ${t.getName()} definition`)}catch(r){e.error("Failed to load prompt "+t.getName(),r)}for(const t of Y)try{e.info("loading tool "+t.getName()),t.build(this.client),e.verbose(`Loaded tool from ${t.getName()} definition`)}catch(r){e.error("Failed to load tool "+t.getName(),r)}}async boot(r="stdio"){const s=this.log;this.log.for(this.boot).info("McpServer booting..."),((r=e.Logging.get())=>{let s;try{s=(()=>{let e,t=__dirname;try{for(;t&&t!==b.parse(t).root;){const r=b.join(t,"node_modules");if(S.existsSync(r)&&S.statSync(r).isDirectory()){e=r;break}const s=b.dirname(t);if(s===t)break;t=s}}catch{}const r=[];if(e){const t=b.join(e,"@decaf-ts");try{if(S.existsSync(t)&&S.statSync(t).isDirectory()){const e=S.readdirSync(t);for(const s of e){const e=b.join(t,s);try{const t=b.join(e,"workdocs","assets","slogans.json");if(S.existsSync(t)&&S.statSync(t).isFile()){const e=S.readFileSync(t,"utf-8"),s=JSON.parse(e);if(Array.isArray(s))for(const e of s)"string"==typeof e&&e.trim().length>0&&r.push(e.trim())}}catch{}}}}catch{}}return 0===r.length?"Decaf: strongly brewed TypeScript.":r[Math.floor(Math.random()*r.length)]})()}catch{s="Decaf: strongly brewed TypeScript."}const o="# \u2591\u2592\u2593\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2588\u2588\u2588\u2588\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2588\u2588\u2588\u2588\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2593\u2592\u2591 \n# ( ( \u2591\u2592\u2593\u2588\u2593\u2592\u2591\u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591\u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591\u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \n# ) ) \u2591\u2592\u2593\u2588\u2593\u2592\u2591\u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591\u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \n# [=======] \u2591\u2592\u2593\u2588\u2593\u2592\u2591\u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2588\u2588\u2588\u2588\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2588\u2588\u2588\u2588\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2588\u2588\u2588\u2588\u2588\u2593\u2592\u2591 \n# `-----\xb4 \u2591\u2592\u2593\u2588\u2593\u2592\u2591\u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591\u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \n# \u2591\u2592\u2593\u2588\u2593\u2592\u2591\u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591\u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591\u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \n# \u2591\u2592\u2593\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2588\u2588\u2588\u2588\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591\u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2593\u2592\u2591 \n#".split("\n"),i=o.reduce((e,t)=>Math.max(e,t.length),0);o.push("# "+s.padStart(i-3)),o.forEach((e,s)=>{const o=w[s%w.length]||"",i=r.info.bind(r);try{i(t.style(e||"").raw(o).text)}catch{i((e||"")+"")}})})(this.log);const o=((Array.isArray(B.icons)?B.icons:[B.icons])||[]).map(e=>{const t="string"==typeof e?.src?e.src:(e?.src??"")+"",r="string"==typeof e?.mimeType?e.mimeType:(e?.mimeType??"")+"";let s=[];return Array.isArray(e?.sizes)?s=e.sizes.map(e=>e+""):"string"==typeof e?.sizes&&(s=(e.sizes+"").split(",").map(e=>e.trim())),{src:t,mimeType:r,sizes:s}}),i={name:B.name,title:B.title,websiteUrl:B.websiteUrl,version:B.version,icons:o};switch(this._mcp=new u.McpServer(i,{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:{}}}),this._mcp.onerror=e=>{this.log.error("MCP instance onerror",e)},r){case"stdio":r=new f.StdioServerTransport;break;case"http":r=new m.StreamableHTTPServerTransport({sessionIdGenerator:()=>h.v4(),onsessioninitialized:e=>s.verbose("Session initialized: "+e),onsessionclosed:e=>s.verbose("Session closed: "+e),enableJsonResponse:!0,eventStore:void 0,allowedHosts:["*"],allowedOrigins:["*"],enableDnsRebindingProtection:!0});break;default:if(!(n=r)||"object"!=typeof n||"function"!=typeof n.send&&"function"!=typeof n.close&&"function"!=typeof n.on)throw new d.InternalError("Invalid transport type: "+r)}var n;try{this.log.info("Loading resources/prompts/tools..."),await this.load()}catch(e){throw this.log.error("Error loading resources/prompts/tools: "+e),e}await this.client.connect(r)}}(async()=>{(new K).boot("stdio")})()},"object"==typeof exports&&"undefined"!=typeof module?t(require("@decaf-ts/logging"),require("styled-string-builder"),require("path"),require("fs"),require("tslib"),require("@decaf-ts/decorator-validation"),require("zod"),require("@decaf-ts/injectable-decorators"),require("@decaf-ts/decoration"),require("@decaf-ts/db-decorators"),require("crypto"),require("zlib"),require("uuid"),require("@modelcontextprotocol/sdk/server/mcp.js"),require("@modelcontextprotocol/sdk/server/stdio.js"),require("@modelcontextprotocol/sdk/server/streamableHttp.js")):"function"==typeof define&&define.amd?define(["@decaf-ts/logging","styled-string-builder","path","fs","tslib","@decaf-ts/decorator-validation","zod","@decaf-ts/injectable-decorators","@decaf-ts/decoration","@decaf-ts/db-decorators","crypto","zlib","uuid","@modelcontextprotocol/sdk/server/mcp.js","@modelcontextprotocol/sdk/server/stdio.js","@modelcontextprotocol/sdk/server/streamableHttp.js"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).decafTsLogging,e.styledStringBuilder,e.path,e.fs,e.tslib,e.decafTsDecoratorValidation,e.zod,e.decafTsInjectableDecorators,e.decafTsDecoration,e.decafTsDbDecorators,e.crypto,e.zlib,e.uuid,e.mcp_js,e.stdio_js,e.streamableHttp_js);
2
+ var e,t;e=this,t=function(e,t,r,s,o,i,n,a,c,d,p,l,f,u,m,h,g){"use strict";function y(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function b(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach(r=>{if("default"!==r){var s=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,s.get?s:{enumerable:!0,get:()=>e[r]})}}),t.default=e,Object.freeze(t)}var S=b(r),_=b(s),v=y(p),w=y(l);const j=["\x1b[38;5;215m","\x1b[38;5;209m","\x1b[38;5;205m","\x1b[38;5;210m","\x1b[38;5;217m","\x1b[38;5;216m","\x1b[38;5;224m","\x1b[38;5;230m","\x1b[38;5;230m"];var E,O,T,x,N;(e=>{e[e.NONE=0]="NONE",e[e.BASIC=1]="BASIC",e[e.ADVANCED=2]="ADVANCED",e[e.HIGH=3]="HIGH"})(E||(E={})),(e=>{e[e.NONE=0]="NONE",e[e.LOW=1]="LOW",e[e.MEDIUM=2]="MEDIUM",e[e.HIGH=3]="HIGH"})(O||(O={})),(e=>{e[e.FREE=0]="FREE",e[e.LOW=1]="LOW",e[e.MEDIUM=2]="MEDIUM",e[e.HIGH=3]="HIGH"})(T||(T={}));class P extends i.Model{get log(){return this._log||(this._log=e.Logging.for(this)),this._log}constructor(e){super(e)}logFor(e){const{sessionId:t,requestId:r,authInfo:s}=e||{};let o="string"==typeof t&&t.length>0?this.log.for(t):this.log;return s&&s.clientId&&(o=o.for(s.clientId)),r&&(o=o.for(r.toString())),o}setDescription(e){return this.description=e,this}getDescription(){return this.description}setName(e){return this.name=e,this}getName(){return this.name}setTitle(e){return this.title=e,this}}o.__decorate([i.required(),o.__metadata("design:type",String)],P.prototype,"description",void 0),o.__decorate([i.required(),o.__metadata("design:type",String)],P.prototype,"name",void 0),o.__decorate([i.required(),o.__metadata("design:type",String)],P.prototype,"title",void 0);class A extends P{constructor(e){super(e),this.reasoning=E.NONE,this.effort=O.NONE,this.cost=T.FREE}setReasoning(e){return this.reasoning=e,this}setEffort(e){return this.effort=e,this}setCost(e){return this.cost=e,this}}function C(e){if(!e)return;let t=e,r=t&&t._def;for(;r&&"ZodObject"!==r.typeName;){if("ZodEffects"===r.typeName&&r.schema)t=r.schema;else if("ZodOptional"===r.typeName&&r.innerType)t=r.innerType;else if("ZodDefault"===r.typeName&&r.innerType)t=r.innerType;else if("ZodNullable"===r.typeName&&r.innerType)t=r.innerType;else{if(!r.schema)return;t=r.schema}r=t&&t._def}return r&&"ZodObject"===r.typeName?r:void 0}function D(e){return!(!e||"object"!=typeof e||!e._def)}function I(e){switch(e){case"none":return E.NONE;case"basic":return E.BASIC;case"advanced":return E.ADVANCED;case"high":return E.HIGH;case"medium":return O.MEDIUM;case"low":return T.LOW;case"free":return T.FREE;default:throw new d.InternalError("Cannon convert unknown level "+e)}}o.__decorate([i.required(),o.__metadata("design:type",Number)],A.prototype,"reasoning",void 0),o.__decorate([i.required(),o.__metadata("design:type",Number)],A.prototype,"effort",void 0),o.__decorate([i.required(),o.__metadata("design:type",Number)],A.prototype,"cost",void 0),(e=>{e.ASSETS="assets"})(x||(x={})),(e=>{e.PROMPT="prompts",e.DOCUMENTATION="documentation",e.CODE="code"})(N||(N={}));const q=Buffer.from("DCAF1","ascii");function k(e){if(e.length<q.length+16+12+16)throw Error("Invalid prompt payload (too short)");if(!e.subarray(0,q.length).equals(q))throw Error("Invalid prompt payload (bad magic)");const t=process.env.ENCRYPTION_KEY||"";if(!t)throw Error("Missing encryption key. Set ENCRYPTION_KEY to load obfuscated assets.");let r=q.length;const s=e.subarray(r,r+16);r+=16;const o=e.subarray(r,r+12);r+=12;const i=e.subarray(r,r+16);r+=16;const n=e.subarray(r),a=((e,t)=>v.default.scryptSync(e,t,32))(t,s),c=v.default.createDecipheriv("aes-256-gcm",a,o);c.setAuthTag(i);const d=Buffer.concat([c.update(n),c.final()]);return w.default.gunzipSync(d)}function M(e){let t=e;for(;;){const e=S.join(t,"lib","assets");if(_.existsSync(e))return e;const r=S.join(t,"src","assets");if(_.existsSync(r))return r;const s=S.join(t,"assets");if(_.existsSync(s))return s;const o=S.dirname(t);if(o===t)break;t=o}}function R(){const e=process.env.DECAF_ASSET_DIR||process.env.MCP_ASSET_DIR||process.env.ASSET_DIR||"";if(e&&_.existsSync(e))return e;const t=process.argv?.[1];if(t){const e=M(S.dirname(t));if(e)return e}const r=[process.cwd(),process.env.INIT_CWD].filter(Boolean);for(const e of r){const t=M(e);if(t)return t}return S.join(process.cwd(),"assets")}let F=class extends e.LoggedClass{constructor(e){super(),this.basePath=e||R()}listAssets(...e){const t=S.join(this.basePath,...e);return _.readdirSync(t)}listPrompts(){return this.listAssets(N.PROMPT)}getAsset(e,t="md",...r){const s=S.join(this.basePath,...r),o=S.join(s,`${e}.${t}`);if(_.existsSync(o))return"enc"===t?k(_.readFileSync(o)).toString("utf-8"):_.readFileSync(o,"utf-8");const i=S.join(s,e+".enc");if(_.existsSync(i))return k(_.readFileSync(i)).toString("utf-8");throw Error("Asset not found: "+S.join(s,`${e}.${t}`))}getAllAssets(e,...t){return this.listAssets(e,...t).reduce((r,s)=>{const o=S.extname(s),i=S.basename(s,o),n=o.replace(/^\./,"")||void 0;return r[i]=this.getAsset(i,n??void 0,e,...t),r},{})}toPromptDef(e){return e.effort=I(e.effort),e.reasoning=I(e.reasoning),e.cost=I(e.cost),e}getPrompt(t,...r){const s=this.getAsset(e.toSnakeCase(t),"json",N.PROMPT,...r);let o;try{o=JSON.parse(s)}catch(e){throw new d.SerializationError(`Failed to parse prompt ${t} in categories ${r}: ${e}`)}return this.toPromptDef(o)}getAllPrompts(...e){const t=this.getAllAssets(N.PROMPT,...e);return Object.entries(t).reduce((t,[r,s])=>{try{t[r]=JSON.parse(s)}catch(t){throw new d.SerializationError(`Failed to parse prompt ${r} in categories ${e}: ${t}`)}return t},t)}};F=o.__decorate([a.injectable(),o.__metadata("design:paramtypes",[String])],F);class z extends A{constructor(e){super(e)}setCb(e){return this.cb=e,this}setArgsSchema(e){return this.argsSchema=e,this}static get builder(){return new z}static patchPrompt(t,r,s,o){const i=(r=Array.isArray(r)?r:Object.keys(r)).filter(e=>!Object.prototype.hasOwnProperty.call(s,e));if(i.length)throw new d.ValidationError("Missing replacements for placeholders: "+i.join(", "));o&&(o.verbose("Patching prompt with placeholders: "+JSON.stringify(r)),o.debug("Values: "+JSON.stringify(s)));const n=r.reduce((e,t)=>(e[t]=s[t],e),{});return e.sf(t,n)}patchPrompt(e,t,r,s){return z.patchPrompt(e,t,r,s||this.log.for(this.patchPrompt))}build(e,t){const r=this.log.for(this.build),s=this.hasErrors();if(s)throw new d.ValidationError(s.toString());try{this.argsSchema&&((e,t="schema")=>{if(C(e))return e;if(e&&"object"==typeof e){const t=e.def&&"object"==typeof e.def?e.def:void 0,r=t&&(t.shape||"object"===t.type)&&t.shape||("object"===e.type?e.shape:void 0)||(t&&"object"===t.type?{}:void 0);if(t||"object"===e.type||r){const e={};if(r&&"object"==typeof r)for(const[t,s]of Object.entries(r))e[t]=D(s)?s:n.z.any();return n.z.object(e)}}throw Error(`Registration error: provided a non-canonical ${t}. Export a ZodObject (z.object(...)).`)})(this.argsSchema,"argsSchema");const r=(e=>{if(!e)return;if(e&&"object"==typeof e&&!e._def)return e.def&&"object"==typeof e.def&&e.def.shape?e.def.shape:e;const t=C(e);return t?"function"==typeof t.shape?t.shape():t.shape||void 0:void 0})(this.argsSchema);return e.registerPrompt(this.name,{title:this.title,description:this.description,argsSchema:r},async(e,r)=>{const s=this.logFor(r);e=Object.assign({},t,e||{}),s.verbose(`Executing prompt ${this.name} with args: ${JSON.stringify(e)}`),e._meta=Object.assign(e._meta||{},{usage:{reasoning:this.reasoning,effort:this.effort,cost:this.cost}});const o=await Promise.resolve(this.cb(e,r));return s.verbose(`Prompt ${this.name} executed successfully.`),s.debug("Prompt execution meta: "+JSON.stringify(o._meta)),o})}catch(e){throw r.error("Failed to register prompt "+(this.name||this.constructor.name),e),e}}}o.__decorate([a.inject(F),o.__metadata("design:type",F)],z.prototype,"assets",void 0),o.__decorate([i.required(),o.__metadata("design:type",Object)],z.prototype,"cb",void 0),o.__decorate([i.required(),o.__metadata("design:type",n.ZodObject)],z.prototype,"argsSchema",void 0),o.__decorate([c.prop(),o.__metadata("design:type",Object)],z.prototype,"placeholders",void 0);class H extends z{setCategory(e){return this.promptCategory=e,this}addPrefix(e){return this.prefixes=this.prefixes||[],this.prefixes.push(e),this}addSuffix(e){return this.suffixes=this.suffixes||[],this.suffixes.push(e),this}constructor(e){super(e)}build(e){const t=this.assets.getPrompt(this.name,this.promptCategory);i.Model.fromObject(this,t);const r=new Set((c.Metadata.properties(H)||[]).filter(e=>!["assets","promptCategory","prefixes","suffixes"].includes(e)));["cb","argsSchema"].forEach(e=>r.add(e));const s=this.hasErrors(...Array.from(r));if(s)throw new d.ValidationError(s.toString());const o=(this.prefixes||[]).map(e=>this.assets.getPrompt(e,this.promptCategory)),a=(this.suffixes||[]).map(e=>this.assets.getPrompt(e,this.promptCategory)),p=[...new Set([...t.placeholders,...o.map(e=>e.placeholders||[]),...a.map(e=>e.placeholders||[])].flat())].reduce((e,t)=>(e[t]=n.z.string().describe("The description for "+t),e),{});return this.setArgsSchema(n.z.object(p)),this.setCb((e,t)=>{const r=this.logFor(t).for(H).for(this.promptCategory).for(this.name);function s(e=[]){return Array.isArray(e)?e:Object.keys(e)}const o=(this.prefixes||[]).map(e=>this.assets.getPrompt(e,this.promptCategory)),i=(this.suffixes||[]).map(e=>this.assets.getPrompt(e,this.promptCategory)),n=this.assets.getPrompt(this.name,this.promptCategory),a=[...new Set([...o.map(e=>s(e.placeholders)).flat(),...i.map(e=>s(e.placeholders)).flat(),...s(n.placeholders).flat()])];return{messages:[{role:"user",content:{type:"text",text:this.patchPrompt([...o.map(e=>e.prompt),n.prompt,...i.map(e=>e.prompt)].join("\n\n"),a,e,r)}}],_meta:{}}}),super.build(e)}setReasoning(e){throw new d.InternalError("Named prompt builders don't require callback")}setEffort(e){throw new d.InternalError("Named prompt builders don't require callback")}setCost(e){throw new d.InternalError("Named prompt builders don't require callback")}setDescription(e){throw new d.InternalError("Named prompt builders don't require callback")}setTitle(e){throw new d.InternalError("Named prompt builders don't require callback")}static get builder(){return new H}}var $;function L(e,t=[],r=[]){const s=H.builder.setCategory($.DOCS).setName(e);return["prefix",...t].forEach(e=>s.addPrefix(e)),["suffix",...r].forEach(e=>s.addSuffix(e)),s}o.__decorate([i.required(),o.__metadata("design:type",String)],H.prototype,"promptCategory",void 0),o.__decorate([i.list(String),i.minlength(1),o.__metadata("design:type",Array)],H.prototype,"prefixes",void 0),o.__decorate([i.minlength(1),i.list(String),o.__metadata("design:type",Array)],H.prototype,"suffixes",void 0),(e=>{e.DOCS="documentation",e.CODE="code"})($||($={}));const U=[L("class"),L("constant"),L("decorator"),L("function"),L("module"),L("file"),L("repo",[],["iterate"])],G="##VERSION##";c.Metadata.registerLibrary("##PACKAGE##",G);const V={mcpId:"decaf",name:"decaf-ts mcp server",title:"Decaf-TS MCP Server",description:"Provides precise coding assistance for the decaf-ts framework",version:G,websiteUrl:"https://decaf-ts.github.io",repositoryUrl:"https://github.com/decaf-ts/mcp-server",license:"AGPL-3.0",workingDir:process.cwd(),assetDir:R(),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:"decaf-ts.atlassian.net",email:"",apiKey:""},level:e.LogLevel.error},W=e.LoggedEnvironment.accumulate(V);e.Logging.setConfig(W);class J extends P{setCb(e){return this.cb=e,this}setConfig(e){return this.config=e,this}setUriOtTemplate(e){return this.uriOrTemplate=e,this}constructor(e){super(e)}static get builder(){return new J}build(t){const r=this.hasErrors();if(r)throw Error(r.toString());try{const e="string"==typeof this.uriOrTemplate&&this.uriOrTemplate.includes("{")?new u.ResourceTemplate(new f.UriTemplate(this.uriOrTemplate),{list:void 0}):this.uriOrTemplate,r=Object.assign(this.config,{_meta:{}}),s=async(e,t)=>{const r=this.logFor(t);r.verbose(`Requesting resource ${this.name} from ${e.toString()}`);const s=await Promise.resolve(this.cb(e,t));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 e.Logging.for(this).error("Error registering resource "+this.name,t),t}}}o.__decorate([i.required(),o.__metadata("design:type",String)],J.prototype,"uriOrTemplate",void 0),o.__decorate([i.required(),o.__metadata("design:type",Function)],J.prototype,"cb",void 0),o.__decorate([i.required(),o.__metadata("design:type",Object)],J.prototype,"config",void 0);const Z=S.join(process.cwd(),"src/assets"),B=S.join(Z,"templates"),Y=S.join(Z,"prompts");class K{constructor(e){this.name=e}silly(...e){}verbose(...e){}info(...e){}debug(...e){}warn(...e){}error(...e){}benchmark(){return this}trace(){return this}clear(){return this}get root(){return[]}for(e){return this}setConfig(e){}}const Q=e=>new K("string"==typeof e?e:e?.name||e?.constructor?.name||"unknown");class X extends e.LoggedClass{get client(){if(!this._mcp)throw Error("Mcp server requires Mcp client");return this._mcp}constructor(){super()}async load(){const e=this.log.for(this.load);for(const t of U)try{e.info("loading prompt "+t.getName());const r=t.build(this.client);e.verbose(`Loaded prompt ${r.title} from ${t.getName()} definition`)}catch(r){e.error("Failed to load prompt "+t.getName(),r)}try{await(async e=>{await(async e=>{e.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 e=U.map(e=>e.getName()).sort();return{content:[{type:"text",text:["Name: "+W.name,"Title: "+W.title,"Version: "+W.version,"Prompts: "+(e.join(", ")||"<none>")].join("\n")}]}})})(e)})(this.client),e.verbose("Registered built-in tools")}catch(t){e.error("Failed to register tools",t)}try{await(async(e,t)=>{t.info("Registering agent templates as resources...");const r=_.readdirSync(B).filter(e=>e.endsWith(".md"));for(const s of r){const r=S.basename(s,".md"),o=S.join(B,s),i=J.builder.setName(r).setUriOtTemplate("file:///"+o).setConfig({mimeType:"text/markdown",description:"Template for "+r}).setCb(async e=>{const t=_.readFileSync(e.pathname,"utf8");return{contents:[{uri:e.toString(),text:t,mimeType:"text/markdown"}],_meta:{}}});try{i.build(e),t.info("Registered template: "+r)}catch(e){t.error(`Failed to register template ${r}:`,e)}}t.info("Registering agent prompts...");const s=_.readdirSync(Y).filter(e=>e.endsWith(".md"));for(const r of s){const s=S.basename(r,".md"),o=S.join(Y,r),i=_.readFileSync(o,"utf8"),a=z.builder.setName(s).setTitle("Prompt: "+s).setDescription("Dynamic prompt for "+s).setArgsSchema(n.z.object({})).setCb(async e=>({messages:[{role:"user",content:{type:"text",text:i}}],_meta:{}}));try{a.build(e),t.info("Registered prompt: "+s)}catch(e){t.error(`Failed to register prompt ${s}:`,e)}}})(this.client,e),e.verbose("Registered agent-specific assets")}catch(t){e.error("Failed to register agent assets",t)}}async boot(r="stdio"){let s=this.log;this.log.for(this.boot).info("McpServer booting..."),((r=e.Logging.get())=>{let s;try{s=(()=>{let e,t=__dirname;try{for(;t&&t!==S.parse(t).root;){const r=S.join(t,"node_modules");if(_.existsSync(r)&&_.statSync(r).isDirectory()){e=r;break}const s=S.dirname(t);if(s===t)break;t=s}}catch{}const r=[];if(e){const t=S.join(e,"@decaf-ts");try{if(_.existsSync(t)&&_.statSync(t).isDirectory()){const e=_.readdirSync(t);for(const s of e){const e=S.join(t,s);try{const t=S.join(e,"workdocs","assets","slogans.json");if(_.existsSync(t)&&_.statSync(t).isFile()){const e=_.readFileSync(t,"utf-8"),s=JSON.parse(e);if(Array.isArray(s))for(const e of s)"string"==typeof e&&e.trim().length>0&&r.push(e.trim())}}catch{}}}}catch{}}return 0===r.length?"Decaf: strongly brewed TypeScript.":r[Math.floor(Math.random()*r.length)]})()}catch{s="Decaf: strongly brewed TypeScript."}const o="# \u2591\u2592\u2593\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2588\u2588\u2588\u2588\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2588\u2588\u2588\u2588\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2593\u2592\u2591 \n# ( ( \u2591\u2592\u2593\u2588\u2593\u2592\u2591\u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591\u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591\u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \n# ) ) \u2591\u2592\u2593\u2588\u2593\u2592\u2591\u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591\u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \n# [=======] \u2591\u2592\u2593\u2588\u2593\u2592\u2591\u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2588\u2588\u2588\u2588\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2588\u2588\u2588\u2588\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2588\u2588\u2588\u2588\u2588\u2593\u2592\u2591 \n# `-----\xb4 \u2591\u2592\u2593\u2588\u2593\u2592\u2591\u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591\u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \n# \u2591\u2592\u2593\u2588\u2593\u2592\u2591\u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591\u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591\u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \n# \u2591\u2592\u2593\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2588\u2588\u2588\u2588\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591\u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2593\u2592\u2591 \n#".split("\n"),i=o.reduce((e,t)=>Math.max(e,t.length),0);o.push("# "+s.padStart(i-3)),o.forEach((e,s)=>{const o=j[s%j.length]||"",i=r.info.bind(r);try{i(t.style(e||"").raw(o).text)}catch{i((e||"")+"")}})})(this.log),"stdio"===r&&(e.Logging.setFactory(Q),s=e.Logging.for(this.constructor.name));const o=((Array.isArray(W.icons)?W.icons:[W.icons])||[]).map(e=>{const t="string"==typeof e?.src?e.src:(e?.src??"")+"",r="string"==typeof e?.mimeType?e.mimeType:(e?.mimeType??"")+"";let s=[];return Array.isArray(e?.sizes)?s=e.sizes.map(e=>e+""):"string"==typeof e?.sizes&&(s=(e.sizes+"").split(",").map(e=>e.trim())),{src:t,mimeType:r,sizes:s}}),i={name:W.name,title:W.title,websiteUrl:W.websiteUrl,version:W.version,icons:o};switch(this._mcp=new u.McpServer(i,{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:{}}}),this._mcp.onerror=e=>{this.log.error("MCP instance onerror",e)},r){case"stdio":r=new h.StdioServerTransport;break;case"http":r=new g.StreamableHTTPServerTransport({sessionIdGenerator:()=>m.v4(),onsessioninitialized:e=>s.verbose("Session initialized: "+e),onsessionclosed:e=>s.verbose("Session closed: "+e),enableJsonResponse:!0,eventStore:void 0});break;default:if(!(n=r)||"object"!=typeof n||"function"!=typeof n.send&&"function"!=typeof n.close&&"function"!=typeof n.on)throw new d.InternalError("Invalid transport type: "+r)}var n;try{this.log.info("Loading resources/prompts/tools..."),await this.load()}catch(e){throw this.log.error("Error loading resources/prompts/tools: "+e),e}await this.client.connect(r),s.info(`MCP Server connected via ${r.constructor.name} and running. Waiting for client connections...`)}}(async()=>{(new X).boot("stdio")})()},"object"==typeof exports&&"undefined"!=typeof module?t(require("@decaf-ts/logging"),require("styled-string-builder"),require("path"),require("fs"),require("tslib"),require("@decaf-ts/decorator-validation"),require("zod"),require("@decaf-ts/injectable-decorators"),require("@decaf-ts/decoration"),require("@decaf-ts/db-decorators"),require("crypto"),require("zlib"),require("@modelcontextprotocol/sdk/shared/uriTemplate.js"),require("@modelcontextprotocol/sdk/server/mcp.js"),require("uuid"),require("@modelcontextprotocol/sdk/server/stdio.js"),require("@modelcontextprotocol/sdk/server/streamableHttp.js")):"function"==typeof define&&define.amd?define(["@decaf-ts/logging","styled-string-builder","path","fs","tslib","@decaf-ts/decorator-validation","zod","@decaf-ts/injectable-decorators","@decaf-ts/decoration","@decaf-ts/db-decorators","crypto","zlib","@modelcontextprotocol/sdk/shared/uriTemplate.js","@modelcontextprotocol/sdk/server/mcp.js","uuid","@modelcontextprotocol/sdk/server/stdio.js","@modelcontextprotocol/sdk/server/streamableHttp.js"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).decafTsLogging,e.styledStringBuilder,e.path,e.fs,e.tslib,e.decafTsDecoratorValidation,e.zod,e.decafTsInjectableDecorators,e.decafTsDecoration,e.decafTsDbDecorators,e.crypto,e.zlib,e.uriTemplate_js,e.mcp_js,e.uuid,e.stdio_js,e.streamableHttp_js);
3
3
  //# sourceMappingURL=mcp-server.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-server.cjs","sources":["../src/utils/banner.ts","../src/constants.ts","../src/utils/constants.ts","../src/builders/builder.ts","../src/jira/schema-utils.ts","../src/utils/conversions.ts","../src/utils/obfuscation.ts","../src/utils/asset-path.ts","../src/utils/assets.ts","../src/builders/prompt-builder.ts","../src/prompts/contants.ts","../src/prompts/jsdocs-prompts.ts","../src/prompts/index.ts","../src/builders/tool-builder.ts","../src/version.ts","../src/utils/environment.ts","../src/tools/server-info.ts","../src/tools/index.ts","../src/mcp-server.ts","../src/utils/initialization.ts","../src/utils/utils.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],"names":["colors","ReasoningLevel","EffortLevel","Cost","Paths","AssetCategory","Builder","Model","log","this","_log","Logging","for","constructor","arg","super","logFor","extra","sessionId","requestId","authInfo","length","clientId","toString","setDescription","value","description","getDescription","setName","name","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","toLevel","lvl","BASIC","ADVANCED","HIGH","MEDIUM","LOW","InternalError","MAGIC","Buffer","from","decryptObfuscatedPayload","input","subarray","equals","keyMaterial","process","env","ENCRYPTION_KEY","offset","salt","iv","tag","ciphertext","crypto","scryptSync","deriveKey","decipher","createDecipheriv","setAuthTag","plaintext","concat","update","final","zlib","gunzipSync","findAssetsDir","startDir","current","libAssets","path","join","fs","existsSync","srcAssets","plainAssets","parent","dirname","resolveAssetsDir","explicit","DECAF_ASSET_DIR","MCP_ASSET_DIR","ASSET_DIR","entry","argv","fromEntry","roots","cwd","INIT_CWD","filter","Boolean","root","found","AssetReader","LoggedClass","basePath","listAssets","folder","assetDir","readdirSync","listPrompts","PROMPT","getAsset","format","categories","filePath","readFileSync","encFallback","getAllAssets","category","reduce","acc","fileName","extWithDot","extname","basename","replace","toPromptDef","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","resolve","error","inject","ZodObject","prop","NamedPromptBuilder","setCategory","promptCategory","addPrefix","prefixes","push","addSuffix","suffixes","promptDef","assets","fromObject","toIgnoreProps","Set","Metadata","properties","k","includes","forEach","add","map","argSchema","flat","el","string","describe","parsePlaceholders","messages","role","content","PromptCategories","namedPromptBuilder","extraPrefix","extraSuffix","pb","DOCS","list","String","minlength","Prompts","ToolBuilder","setAnnotations","annotations","setInputSchema","inputSchema","setOutputSchema","outputSchema","readOnlyHint","destructiveHint","idempotentHint","openWorldHint","inputShape","outputShape","registerTool","msg","message","warn","VERSION","registerLibrary","DefaultMcpEnvironment","mcpId","version","websiteUrl","repositoryUrl","license","workingDir","contacts","url","tags","metadata","icons","src","mimeType","sizes","jira","host","email","apiKey","level","LogLevel","Environment","LoggedEnvironment","accumulate","setConfig","Tools","_args","_extra","promptNames","sort","McpServer","client","_mcp","load","info","tool","boot","transportType","logger","get","nodeModulesDir","__dirname","candidate","statSync","isDirectory","slogans","scopeDir","pkgs","pkg","depPath","slogansPath","isFile","raw","parsed","trim","Math","floor","random","getSlogan","banner","split","maxLength","max","line","padStart","index","color","logFn","bind","style","printBanner","normalizedIcons","i","serverInfo","MCP","instructions","capabilities","logging","tools","prompts","onerror","err","StdioServerTransport","StreamableHTTPServerTransport","sessionIdGenerator","v4","onsessioninitialized","onsessionclosed","enableJsonResponse","eventStore","allowedHosts","allowedOrigins","enableDnsRebindingProtection","send","close","on","connect","main"],"mappings":"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"}
1
+ {"version":3,"file":"mcp-server.cjs","sources":["../src/utils/banner.ts","../src/constants.ts","../src/utils/constants.ts","../src/builders/builder.ts","../src/jira/schema-utils.ts","../src/utils/conversions.ts","../src/utils/obfuscation.ts","../src/utils/asset-path.ts","../src/utils/assets.ts","../src/builders/prompt-builder.ts","../src/prompts/contants.ts","../src/prompts/jsdocs-prompts.ts","../src/prompts/index.ts","../src/version.ts","../src/utils/environment.ts","../src/builders/resource-builder.ts","../src/agent/registrations.ts","../src/utils/stdio-error-logger.ts","../src/mcp-server.ts","../src/tools/index.ts","../src/tools/server-info.ts","../src/utils/initialization.ts","../src/utils/utils.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],"names":["colors","ReasoningLevel","EffortLevel","Cost","Paths","AssetCategory","Builder","Model","log","this","_log","Logging","for","constructor","arg","super","logFor","extra","sessionId","requestId","authInfo","length","clientId","toString","setDescription","value","description","getDescription","setName","name","getName","setTitle","title","__decorate","required","prototype","UsableBuilder","reasoning","NONE","effort","cost","FREE","setReasoning","setEffort","setCost","findUnderlyingZodObject","s","cur","def","_def","typeName","schema","innerType","undefined","isZodSchema","toLevel","lvl","BASIC","ADVANCED","HIGH","MEDIUM","LOW","InternalError","MAGIC","Buffer","from","decryptObfuscatedPayload","input","Error","subarray","equals","keyMaterial","process","env","ENCRYPTION_KEY","offset","salt","iv","tag","ciphertext","key","crypto","scryptSync","deriveKey","decipher","createDecipheriv","setAuthTag","plaintext","concat","update","final","zlib","gunzipSync","findAssetsDir","startDir","current","libAssets","path","join","fs","existsSync","srcAssets","plainAssets","parent","dirname","resolveAssetsDir","explicit","DECAF_ASSET_DIR","MCP_ASSET_DIR","ASSET_DIR","entry","argv","fromEntry","roots","cwd","INIT_CWD","filter","Boolean","root","found","AssetReader","LoggedClass","basePath","listAssets","folder","assetDir","readdirSync","listPrompts","PROMPT","getAsset","format","categories","filePath","readFileSync","encFallback","getAllAssets","category","reduce","acc","fileName","extWithDot","extname","basename","replace","toPromptDef","getPrompt","text","toSnakeCase","JSON","parse","e","SerializationError","getAllPrompts","texts","Object","entries","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","defLike","shape","type","normalizedShape","z","any","object","ensureZodObject","argsShape","extractShape","registerPrompt","async","args","assign","_meta","usage","result","Promise","resolve","error","inject","ZodObject","prop","NamedPromptBuilder","setCategory","promptCategory","addPrefix","prefixes","push","addSuffix","suffixes","promptDef","assets","fromObject","toIgnoreProps","Set","Metadata","properties","k","includes","forEach","add","map","argSchema","flat","el","string","describe","parsePlaceholders","messages","role","content","PromptCategories","namedPromptBuilder","extraPrefix","extraSuffix","pb","DOCS","list","String","minlength","Prompts","VERSION","registerLibrary","DefaultMcpEnvironment","mcpId","version","websiteUrl","repositoryUrl","license","workingDir","contacts","url","tags","metadata","icons","src","mimeType","sizes","jira","host","email","apiKey","level","LogLevel","Environment","LoggedEnvironment","accumulate","setConfig","ResourceBuilder","config","setUriOtTemplate","uriOrTemplate","uriOrTemplateArg","ResourceTemplate","UriTemplate","readCb","uri","resource","ASSETS_DIR","TEMPLATES_DIR","PROMPTS_DIR","StdioErrorLogger","silly","info","warn","benchmark","trace","clear","context","stdioErrorLoggerFactory","McpServer","client","_mcp","load","registerTool","inputSchema","outputSchema","annotations","readOnlyHint","destructiveHint","idempotentHint","openWorldHint","promptNames","sort","registerServerInfoTool","registerTools","templateFiles","file","endsWith","resourceBuilder","pathname","contents","promptFiles","promptContent","promptBuilder","registerAgentAssets","boot","transportType","logger","get","message","nodeModulesDir","__dirname","candidate","statSync","isDirectory","slogans","scopeDir","pkgs","pkg","depPath","slogansPath","isFile","raw","parsed","trim","Math","floor","random","getSlogan","banner","split","maxLength","max","line","padStart","index","color","logFn","bind","style","printBanner","setFactory","normalizedIcons","i","serverInfo","MCP","instructions","capabilities","logging","tools","prompts","onerror","err","StdioServerTransport","StreamableHTTPServerTransport","sessionIdGenerator","v4","onsessioninitialized","onsessionclosed","enableJsonResponse","eventStore","send","close","on","connect","main"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{Logging as t,LoggedClass as e,toSnakeCase as s,sf as r,LogLevel as o,LoggedEnvironment as i}from"@decaf-ts/logging";import{style as n}from"styled-string-builder";import*as a from"path";import*as c from"fs";import{__decorate as p,__metadata as h}from"tslib";import{required as d,Model as f,list as m,minlength as l}from"@decaf-ts/decorator-validation";import{z as u,ZodObject as g}from"zod";import{injectable as y,inject as b}from"@decaf-ts/injectable-decorators";import{prop as S,Metadata as v}from"@decaf-ts/decoration";import{InternalError as w,SerializationError as N,ValidationError as E}from"@decaf-ts/db-decorators";import j from"crypto";import O from"zlib";import{v4 as x}from"uuid";import{McpServer as A}from"@modelcontextprotocol/sdk/server/mcp.js";import{StdioServerTransport as P}from"@modelcontextprotocol/sdk/server/stdio.js";import{StreamableHTTPServerTransport as C}from"@modelcontextprotocol/sdk/server/streamableHttp.js";const D=["\x1b[38;5;215m","\x1b[38;5;209m","\x1b[38;5;205m","\x1b[38;5;210m","\x1b[38;5;217m","\x1b[38;5;216m","\x1b[38;5;224m","\x1b[38;5;230m","\x1b[38;5;230m"];var I,T,_,M,k;(t=>{t[t.NONE=0]="NONE",t[t.BASIC=1]="BASIC",t[t.ADVANCED=2]="ADVANCED",t[t.HIGH=3]="HIGH"})(I||(I={})),(t=>{t[t.NONE=0]="NONE",t[t.LOW=1]="LOW",t[t.MEDIUM=2]="MEDIUM",t[t.HIGH=3]="HIGH"})(T||(T={})),(t=>{t[t.FREE=0]="FREE",t[t.LOW=1]="LOW",t[t.MEDIUM=2]="MEDIUM",t[t.HIGH=3]="HIGH"})(_||(_={}));class F extends f{get log(){return this._log||(this._log=t.for(this)),this._log}constructor(t){super(t)}logFor(t){const{sessionId:e,requestId:s,authInfo:r}=t||{};let o="string"==typeof e&&e.length>0?this.log.for(e):this.log;return r&&r.clientId&&(o=o.for(r.clientId)),s&&(o=o.for(s.toString())),o}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}}p([d(),h("design:type",String)],F.prototype,"description",void 0),p([d(),h("design:type",String)],F.prototype,"name",void 0),p([d(),h("design:type",String)],F.prototype,"title",void 0);class $ extends F{constructor(t){super(t),this.reasoning=I.NONE,this.effort=T.NONE,this.cost=_.FREE}setReasoning(t){return this.reasoning=t,this}setEffort(t){return this.effort=t,this}setCost(t){return this.cost=t,this}}function H(t){if(!t)return;let e=t,s=e&&e._def;for(;s&&"ZodObject"!==s.typeName;){if("ZodEffects"===s.typeName&&s.schema)e=s.schema;else if("ZodOptional"===s.typeName&&s.innerType)e=s.innerType;else if("ZodDefault"===s.typeName&&s.innerType)e=s.innerType;else if("ZodNullable"===s.typeName&&s.innerType)e=s.innerType;else{if(!s.schema)return;e=s.schema}s=e&&e._def}return s&&"ZodObject"===s.typeName?s:void 0}function R(t,e="schema"){if(H(t))return t;if(t&&"object"==typeof t){const e=t.def&&"object"==typeof t.def?t.def:void 0,s=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||s){const t={};if(s&&"object"==typeof s)for(const[e,r]of Object.entries(s))t[e]=G(r)?r:u.any();return u.object(t)}}throw Error(`Registration error: provided a non-canonical ${e}. Export a ZodObject (z.object(...)).`)}function z(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=H(t);return e?"function"==typeof e.shape?e.shape():e.shape||void 0:void 0}function G(t){return!(!t||"object"!=typeof t||!t._def)}function J(t){switch(t){case"none":return I.NONE;case"basic":return I.BASIC;case"advanced":return I.ADVANCED;case"high":return I.HIGH;case"medium":return T.MEDIUM;case"low":return _.LOW;case"free":return _.FREE;default:throw new w("Cannon convert unknown level "+t)}}p([d(),h("design:type",Number)],$.prototype,"reasoning",void 0),p([d(),h("design:type",Number)],$.prototype,"effort",void 0),p([d(),h("design:type",Number)],$.prototype,"cost",void 0),(t=>{t.ASSETS="assets"})(M||(M={})),(t=>{t.PROMPT="prompts",t.DOCUMENTATION="documentation",t.CODE="code"})(k||(k={}));const L=Buffer.from("DCAF1","ascii");function U(t){if(t.length<L.length+16+12+16)throw Error("Invalid prompt payload (too short)");if(!t.subarray(0,L.length).equals(L))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 s=L.length;const r=t.subarray(s,s+16);s+=16;const o=t.subarray(s,s+12);s+=12;const i=t.subarray(s,s+16);s+=16;const n=t.subarray(s),a=((t,e)=>j.scryptSync(t,e,32))(e,r),c=j.createDecipheriv("aes-256-gcm",a,o);c.setAuthTag(i);const p=Buffer.concat([c.update(n),c.final()]);return O.gunzipSync(p)}function q(t){let e=t;for(;;){const t=a.join(e,"lib","assets");if(c.existsSync(t))return t;const s=a.join(e,"src","assets");if(c.existsSync(s))return s;const r=a.join(e,"assets");if(c.existsSync(r))return r;const o=a.dirname(e);if(o===e)break;e=o}}function W(){const t=process.env.DECAF_ASSET_DIR||process.env.MCP_ASSET_DIR||process.env.ASSET_DIR||"";if(t&&c.existsSync(t))return t;const e=process.argv?.[1];if(e){const t=q(a.dirname(e));if(t)return t}const s=[process.cwd(),process.env.INIT_CWD].filter(Boolean);for(const t of s){const e=q(t);if(e)return e}return a.join(process.cwd(),"assets")}let Z=class extends e{constructor(t){super(),this.basePath=t||W()}listAssets(...t){const e=a.join(this.basePath,...t);return c.readdirSync(e)}listPrompts(){return this.listAssets(k.PROMPT)}getAsset(t,e="md",...s){const r=a.join(this.basePath,...s),o=a.join(r,`${t}.${e}`);if(c.existsSync(o))return"enc"===e?U(c.readFileSync(o)).toString("utf-8"):c.readFileSync(o,"utf-8");const i=a.join(r,t+".enc");if(c.existsSync(i))return U(c.readFileSync(i)).toString("utf-8");throw Error("Asset not found: "+a.join(r,`${t}.${e}`))}getAllAssets(t,...e){return this.listAssets(t,...e).reduce((s,r)=>{const o=a.extname(r),i=a.basename(r,o),n=o.replace(/^\./,"")||void 0;return s[i]=this.getAsset(i,n??void 0,t,...e),s},{})}toPromptDef(t){return t.effort=J(t.effort),t.reasoning=J(t.reasoning),t.cost=J(t.cost),t}getPrompt(t,...e){const r=this.getAsset(s(t),"json",k.PROMPT,...e);let o;try{o=JSON.parse(r)}catch(s){throw new N(`Failed to parse prompt ${t} in categories ${e}: ${s}`)}return this.toPromptDef(o)}getAllPrompts(...t){const e=this.getAllAssets(k.PROMPT,...t);return Object.entries(e).reduce((e,[s,r])=>{try{e[s]=JSON.parse(r)}catch(e){throw new N(`Failed to parse prompt ${s} in categories ${t}: ${e}`)}return e},e)}};Z=p([y(),h("design:paramtypes",[String])],Z);class B extends ${constructor(t){super(t)}setCb(t){return this.cb=t,this}setArgsSchema(t){return this.argsSchema=t,this}static get builder(){return new B}static patchPrompt(t,e,s,o){const i=(e=Array.isArray(e)?e:Object.keys(e)).filter(t=>!Object.prototype.hasOwnProperty.call(s,t));if(i.length)throw new E("Missing replacements for placeholders: "+i.join(", "));o&&(o.verbose("Patching prompt with placeholders: "+JSON.stringify(e)),o.debug("Values: "+JSON.stringify(s)));const n=e.reduce((t,e)=>(t[e]=s[e],t),{});return r(t,n)}patchPrompt(t,e,s,r){return B.patchPrompt(t,e,s,r||this.log.for(this.patchPrompt))}build(t,e){const s=this.log.for(this.build),r=this.hasErrors();if(r)throw new E(r.toString());try{this.argsSchema&&R(this.argsSchema,"argsSchema");const s=z(this.argsSchema);return t.registerPrompt(this.name,{title:this.title,description:this.description,argsSchema:s},async(t,s)=>{const r=this.logFor(s);t=Object.assign({},e,t||{}),r.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 o=await Promise.resolve(this.cb(t,s));return r.verbose(`Prompt ${this.name} executed successfully.`),r.debug("Prompt execution meta: "+JSON.stringify(o._meta)),o})}catch(t){throw s.error("Failed to register prompt "+(this.name||this.constructor.name),t),t}}}p([b(Z),h("design:type",Z)],B.prototype,"assets",void 0),p([d(),h("design:type",Object)],B.prototype,"cb",void 0),p([d(),h("design:type",g)],B.prototype,"argsSchema",void 0),p([S(),h("design:type",Object)],B.prototype,"placeholders",void 0);class V extends B{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);f.fromObject(this,e);const s=new Set((v.properties(V)||[]).filter(t=>!["assets","promptCategory","prefixes","suffixes"].includes(t)));["cb","argsSchema"].forEach(t=>s.add(t));const r=this.hasErrors(...Array.from(s));if(r)throw new E(r.toString());const o=(this.prefixes||[]).map(t=>this.assets.getPrompt(t,this.promptCategory)),i=(this.suffixes||[]).map(t=>this.assets.getPrompt(t,this.promptCategory)),n=[...new Set([...e.placeholders,...o.map(t=>t.placeholders||[]),...i.map(t=>t.placeholders||[])].flat())].reduce((t,e)=>(t[e]=u.string().describe("The description for "+e),t),{});return this.setArgsSchema(u.object(n)),this.setCb((t,e)=>{const s=this.logFor(e).for(V).for(this.promptCategory).for(this.name);function r(t=[]){return Array.isArray(t)?t:Object.keys(t)}const o=(this.prefixes||[]).map(t=>this.assets.getPrompt(t,this.promptCategory)),i=(this.suffixes||[]).map(t=>this.assets.getPrompt(t,this.promptCategory)),n=this.assets.getPrompt(this.name,this.promptCategory),a=[...new Set([...o.map(t=>r(t.placeholders)).flat(),...i.map(t=>r(t.placeholders)).flat(),...r(n.placeholders).flat()])];return{messages:[{role:"user",content:{type:"text",text:this.patchPrompt([...o.map(t=>t.prompt),n.prompt,...i.map(t=>t.prompt)].join("\n\n"),a,t,s)}}],_meta:{}}}),super.build(t)}setReasoning(t){throw new w("Named prompt builders don't require callback")}setEffort(t){throw new w("Named prompt builders don't require callback")}setCost(t){throw new w("Named prompt builders don't require callback")}setDescription(t){throw new w("Named prompt builders don't require callback")}setTitle(t){throw new w("Named prompt builders don't require callback")}static get builder(){return new V}}var Y;function K(t,e=[],s=[]){const r=V.builder.setCategory(Y.DOCS).setName(t);return["prefix",...e].forEach(t=>r.addPrefix(t)),["suffix",...s].forEach(t=>r.addSuffix(t)),r}p([d(),h("design:type",String)],V.prototype,"promptCategory",void 0),p([m(String),l(1),h("design:type",Array)],V.prototype,"prefixes",void 0),p([l(1),m(String),h("design:type",Array)],V.prototype,"suffixes",void 0),(t=>{t.DOCS="documentation",t.CODE="code"})(Y||(Y={}));const Q=[K("class"),K("constant"),K("decorator"),K("function"),K("module"),K("file"),K("repo",[],["iterate"])];class X extends ${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 X}build(e){const s=this.hasErrors();if(s)throw Error(s.toString());try{this.inputSchema&&R(this.inputSchema,"inputSchema"),this.outputSchema&&R(this.outputSchema,"outputSchema");const t=z(this.inputSchema),s=z(this.outputSchema);return e.registerTool(this.name,{title:this.title,description:this.description,inputSchema:t,outputSchema:s,annotations:this.annotations,_meta:{usage:{reasoning:this.reasoning,effort:this.effort,cost:this.cost}}},async(t,e)=>{const s=this.logFor(e);s.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 r=await Promise.resolve(this.cb(t,e));return s.verbose(`Tool ${this.name} executed successfully.`),s.debug("Tool execution meta: "+JSON.stringify(r._meta)),r})}catch(e){const s=e?.message||e+"";if("string"==typeof s&&s.includes("already registered"))return t.for(this).warn(`Tool ${this.name} already registered - skipping duplicate registration`),{name:this.name};throw t.for(this).error("Error building tool",e),e}}}p([d(),h("design:type",Object)],X.prototype,"annotations",void 0),p([d(),h("design:type",Object)],X.prototype,"cb",void 0),p([d(),h("design:type",Function)],X.prototype,"inputSchema",void 0);const tt="##VERSION##";v.registerLibrary("##PACKAGE##",tt);const et={mcpId:"decaf",name:"decaf-ts mcp server",title:"Decaf-TS MCP Server",description:"Provides precise coding assistance for the decaf-ts framework",version:tt,websiteUrl:"https://decaf-ts.github.io",repositoryUrl:"https://github.com/decaf-ts/mcp-server",license:"AGPL-3.0",workingDir:process.cwd(),assetDir:W(),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:"decaf-ts.atlassian.net",email:"",apiKey:""},level:o.error},st=i.accumulate(et);t.setConfig(st);const rt=u.object({}),ot=[X.builder.setName("decaf.server-info").setTitle("Decaf MCP Server Info").setDescription("Return server metadata, version, and registered prompt names for quick diagnostics.").setInputSchema(rt).setCb(async(t,e)=>{const s=Q.map(t=>t.getName()).sort();return{content:[{type:"text",text:["Name: "+st.name,"Title: "+st.title,"Version: "+st.version,"Prompts: "+(s.join(", ")||"<none>")].join("\n")}]}})];class it extends e{get client(){if(!this._mcp)throw Error("Mcp server requires Mcp client");return this._mcp}constructor(){super()}async load(){const t=this.log.for(this.load);for(const e of Q)try{t.info("loading prompt "+e.getName());const s=e.build(this.client);t.verbose(`Loaded prompt ${s.title} from ${e.getName()} definition`)}catch(s){t.error("Failed to load prompt "+e.getName(),s)}for(const e of ot)try{t.info("loading tool "+e.getName()),e.build(this.client),t.verbose(`Loaded tool from ${e.getName()} definition`)}catch(s){t.error("Failed to load tool "+e.getName(),s)}}async boot(e="stdio"){const s=this.log;this.log.for(this.boot).info("McpServer booting..."),((e=t.get())=>{let s;try{s=(()=>{let t,e=__dirname;try{for(;e&&e!==a.parse(e).root;){const s=a.join(e,"node_modules");if(c.existsSync(s)&&c.statSync(s).isDirectory()){t=s;break}const r=a.dirname(e);if(r===e)break;e=r}}catch{}const s=[];if(t){const e=a.join(t,"@decaf-ts");try{if(c.existsSync(e)&&c.statSync(e).isDirectory()){const t=c.readdirSync(e);for(const r of t){const t=a.join(e,r);try{const e=a.join(t,"workdocs","assets","slogans.json");if(c.existsSync(e)&&c.statSync(e).isFile()){const t=c.readFileSync(e,"utf-8"),r=JSON.parse(t);if(Array.isArray(r))for(const t of r)"string"==typeof t&&t.trim().length>0&&s.push(t.trim())}}catch{}}}}catch{}}return 0===s.length?"Decaf: strongly brewed TypeScript.":s[Math.floor(Math.random()*s.length)]})()}catch{s="Decaf: strongly brewed TypeScript."}const r="# \u2591\u2592\u2593\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2588\u2588\u2588\u2588\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2588\u2588\u2588\u2588\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2593\u2592\u2591 \n# ( ( \u2591\u2592\u2593\u2588\u2593\u2592\u2591\u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591\u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591\u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \n# ) ) \u2591\u2592\u2593\u2588\u2593\u2592\u2591\u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591\u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \n# [=======] \u2591\u2592\u2593\u2588\u2593\u2592\u2591\u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2588\u2588\u2588\u2588\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2588\u2588\u2588\u2588\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2588\u2588\u2588\u2588\u2588\u2593\u2592\u2591 \n# `-----\xb4 \u2591\u2592\u2593\u2588\u2593\u2592\u2591\u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591\u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \n# \u2591\u2592\u2593\u2588\u2593\u2592\u2591\u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591\u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591\u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \n# \u2591\u2592\u2593\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2588\u2588\u2588\u2588\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591\u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2593\u2592\u2591 \n#".split("\n"),o=r.reduce((t,e)=>Math.max(t,e.length),0);r.push("# "+s.padStart(o-3)),r.forEach((t,s)=>{const r=D[s%D.length]||"",o=e.info.bind(e);try{o(n(t||"").raw(r).text)}catch{o((t||"")+"")}})})(this.log);const r=((Array.isArray(st.icons)?st.icons:[st.icons])||[]).map(t=>{const e="string"==typeof t?.src?t.src:(t?.src??"")+"",s="string"==typeof t?.mimeType?t.mimeType:(t?.mimeType??"")+"";let r=[];return Array.isArray(t?.sizes)?r=t.sizes.map(t=>t+""):"string"==typeof t?.sizes&&(r=(t.sizes+"").split(",").map(t=>t.trim())),{src:e,mimeType:s,sizes:r}}),o={name:st.name,title:st.title,websiteUrl:st.websiteUrl,version:st.version,icons:r};switch(this._mcp=new A(o,{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:{}}}),this._mcp.onerror=t=>{this.log.error("MCP instance onerror",t)},e){case"stdio":e=new P;break;case"http":e=new C({sessionIdGenerator:()=>x(),onsessioninitialized:t=>s.verbose("Session initialized: "+t),onsessionclosed:t=>s.verbose("Session closed: "+t),enableJsonResponse:!0,eventStore:void 0,allowedHosts:["*"],allowedOrigins:["*"],enableDnsRebindingProtection:!0});break;default:if(!(i=e)||"object"!=typeof i||"function"!=typeof i.send&&"function"!=typeof i.close&&"function"!=typeof i.on)throw new w("Invalid transport type: "+e)}var i;try{this.log.info("Loading resources/prompts/tools..."),await this.load()}catch(t){throw this.log.error("Error loading resources/prompts/tools: "+t),t}await this.client.connect(e)}}(async()=>{(new it).boot("stdio")})();
1
+ import{Logging as t,LoggedClass as e,toSnakeCase as r,sf as s,LogLevel as o,LoggedEnvironment as i}from"@decaf-ts/logging";import{style as n}from"styled-string-builder";import*as a from"path";import*as c from"fs";import{__decorate as p,__metadata as d}from"tslib";import{required as m,Model as f,list as l,minlength as h}from"@decaf-ts/decorator-validation";import{z as u,ZodObject as g}from"zod";import{injectable as y,inject as b}from"@decaf-ts/injectable-decorators";import{prop as S,Metadata as v}from"@decaf-ts/decoration";import{InternalError as w,SerializationError as j,ValidationError as O}from"@decaf-ts/db-decorators";import E from"crypto";import N from"zlib";import{UriTemplate as x}from"@modelcontextprotocol/sdk/shared/uriTemplate.js";import{ResourceTemplate as A,McpServer as P}from"@modelcontextprotocol/sdk/server/mcp.js";import{v4 as T}from"uuid";import{StdioServerTransport as C}from"@modelcontextprotocol/sdk/server/stdio.js";import{StreamableHTTPServerTransport as D}from"@modelcontextprotocol/sdk/server/streamableHttp.js";const I=["\x1b[38;5;215m","\x1b[38;5;209m","\x1b[38;5;205m","\x1b[38;5;210m","\x1b[38;5;217m","\x1b[38;5;216m","\x1b[38;5;224m","\x1b[38;5;230m","\x1b[38;5;230m"];var k,_,M,R,F;(t=>{t[t.NONE=0]="NONE",t[t.BASIC=1]="BASIC",t[t.ADVANCED=2]="ADVANCED",t[t.HIGH=3]="HIGH"})(k||(k={})),(t=>{t[t.NONE=0]="NONE",t[t.LOW=1]="LOW",t[t.MEDIUM=2]="MEDIUM",t[t.HIGH=3]="HIGH"})(_||(_={})),(t=>{t[t.FREE=0]="FREE",t[t.LOW=1]="LOW",t[t.MEDIUM=2]="MEDIUM",t[t.HIGH=3]="HIGH"})(M||(M={}));class $ extends f{get log(){return this._log||(this._log=t.for(this)),this._log}constructor(t){super(t)}logFor(t){const{sessionId:e,requestId:r,authInfo:s}=t||{};let o="string"==typeof e&&e.length>0?this.log.for(e):this.log;return s&&s.clientId&&(o=o.for(s.clientId)),r&&(o=o.for(r.toString())),o}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}}p([m(),d("design:type",String)],$.prototype,"description",void 0),p([m(),d("design:type",String)],$.prototype,"name",void 0),p([m(),d("design:type",String)],$.prototype,"title",void 0);class H extends ${constructor(t){super(t),this.reasoning=k.NONE,this.effort=_.NONE,this.cost=M.FREE}setReasoning(t){return this.reasoning=t,this}setEffort(t){return this.effort=t,this}setCost(t){return this.cost=t,this}}function z(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 U(t){return!(!t||"object"!=typeof t||!t._def)}function G(t){switch(t){case"none":return k.NONE;case"basic":return k.BASIC;case"advanced":return k.ADVANCED;case"high":return k.HIGH;case"medium":return _.MEDIUM;case"low":return M.LOW;case"free":return M.FREE;default:throw new w("Cannon convert unknown level "+t)}}p([m(),d("design:type",Number)],H.prototype,"reasoning",void 0),p([m(),d("design:type",Number)],H.prototype,"effort",void 0),p([m(),d("design:type",Number)],H.prototype,"cost",void 0),(t=>{t.ASSETS="assets"})(R||(R={})),(t=>{t.PROMPT="prompts",t.DOCUMENTATION="documentation",t.CODE="code"})(F||(F={}));const W=Buffer.from("DCAF1","ascii");function q(t){if(t.length<W.length+16+12+16)throw Error("Invalid prompt payload (too short)");if(!t.subarray(0,W.length).equals(W))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=W.length;const s=t.subarray(r,r+16);r+=16;const o=t.subarray(r,r+12);r+=12;const i=t.subarray(r,r+16);r+=16;const n=t.subarray(r),a=((t,e)=>E.scryptSync(t,e,32))(e,s),c=E.createDecipheriv("aes-256-gcm",a,o);c.setAuthTag(i);const p=Buffer.concat([c.update(n),c.final()]);return N.gunzipSync(p)}function J(t){let e=t;for(;;){const t=a.join(e,"lib","assets");if(c.existsSync(t))return t;const r=a.join(e,"src","assets");if(c.existsSync(r))return r;const s=a.join(e,"assets");if(c.existsSync(s))return s;const o=a.dirname(e);if(o===e)break;e=o}}function L(){const t=process.env.DECAF_ASSET_DIR||process.env.MCP_ASSET_DIR||process.env.ASSET_DIR||"";if(t&&c.existsSync(t))return t;const e=process.argv?.[1];if(e){const t=J(a.dirname(e));if(t)return t}const r=[process.cwd(),process.env.INIT_CWD].filter(Boolean);for(const t of r){const e=J(t);if(e)return e}return a.join(process.cwd(),"assets")}let Z=class extends e{constructor(t){super(),this.basePath=t||L()}listAssets(...t){const e=a.join(this.basePath,...t);return c.readdirSync(e)}listPrompts(){return this.listAssets(F.PROMPT)}getAsset(t,e="md",...r){const s=a.join(this.basePath,...r),o=a.join(s,`${t}.${e}`);if(c.existsSync(o))return"enc"===e?q(c.readFileSync(o)).toString("utf-8"):c.readFileSync(o,"utf-8");const i=a.join(s,t+".enc");if(c.existsSync(i))return q(c.readFileSync(i)).toString("utf-8");throw Error("Asset not found: "+a.join(s,`${t}.${e}`))}getAllAssets(t,...e){return this.listAssets(t,...e).reduce((r,s)=>{const o=a.extname(s),i=a.basename(s,o),n=o.replace(/^\./,"")||void 0;return r[i]=this.getAsset(i,n??void 0,t,...e),r},{})}toPromptDef(t){return t.effort=G(t.effort),t.reasoning=G(t.reasoning),t.cost=G(t.cost),t}getPrompt(t,...e){const s=this.getAsset(r(t),"json",F.PROMPT,...e);let o;try{o=JSON.parse(s)}catch(r){throw new j(`Failed to parse prompt ${t} in categories ${e}: ${r}`)}return this.toPromptDef(o)}getAllPrompts(...t){const e=this.getAllAssets(F.PROMPT,...t);return Object.entries(e).reduce((e,[r,s])=>{try{e[r]=JSON.parse(s)}catch(e){throw new j(`Failed to parse prompt ${r} in categories ${t}: ${e}`)}return e},e)}};Z=p([y(),d("design:paramtypes",[String])],Z);class B extends H{constructor(t){super(t)}setCb(t){return this.cb=t,this}setArgsSchema(t){return this.argsSchema=t,this}static get builder(){return new B}static patchPrompt(t,e,r,o){const i=(e=Array.isArray(e)?e:Object.keys(e)).filter(t=>!Object.prototype.hasOwnProperty.call(r,t));if(i.length)throw new O("Missing replacements for placeholders: "+i.join(", "));o&&(o.verbose("Patching prompt with placeholders: "+JSON.stringify(e)),o.debug("Values: "+JSON.stringify(r)));const n=e.reduce((t,e)=>(t[e]=r[e],t),{});return s(t,n)}patchPrompt(t,e,r,s){return B.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&&((t,e="schema")=>{if(z(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]=U(s)?s:u.any();return u.object(t)}}throw Error(`Registration error: provided a non-canonical ${e}. Export a ZodObject (z.object(...)).`)})(this.argsSchema,"argsSchema");const r=(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=z(t);return e?"function"==typeof e.shape?e.shape():e.shape||void 0:void 0})(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 o=await Promise.resolve(this.cb(t,r));return s.verbose(`Prompt ${this.name} executed successfully.`),s.debug("Prompt execution meta: "+JSON.stringify(o._meta)),o})}catch(t){throw r.error("Failed to register prompt "+(this.name||this.constructor.name),t),t}}}p([b(Z),d("design:type",Z)],B.prototype,"assets",void 0),p([m(),d("design:type",Object)],B.prototype,"cb",void 0),p([m(),d("design:type",g)],B.prototype,"argsSchema",void 0),p([S(),d("design:type",Object)],B.prototype,"placeholders",void 0);class V extends B{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);f.fromObject(this,e);const r=new Set((v.properties(V)||[]).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 o=(this.prefixes||[]).map(t=>this.assets.getPrompt(t,this.promptCategory)),i=(this.suffixes||[]).map(t=>this.assets.getPrompt(t,this.promptCategory)),n=[...new Set([...e.placeholders,...o.map(t=>t.placeholders||[]),...i.map(t=>t.placeholders||[])].flat())].reduce((t,e)=>(t[e]=u.string().describe("The description for "+e),t),{});return this.setArgsSchema(u.object(n)),this.setCb((t,e)=>{const r=this.logFor(e).for(V).for(this.promptCategory).for(this.name);function s(t=[]){return Array.isArray(t)?t:Object.keys(t)}const o=(this.prefixes||[]).map(t=>this.assets.getPrompt(t,this.promptCategory)),i=(this.suffixes||[]).map(t=>this.assets.getPrompt(t,this.promptCategory)),n=this.assets.getPrompt(this.name,this.promptCategory),a=[...new Set([...o.map(t=>s(t.placeholders)).flat(),...i.map(t=>s(t.placeholders)).flat(),...s(n.placeholders).flat()])];return{messages:[{role:"user",content:{type:"text",text:this.patchPrompt([...o.map(t=>t.prompt),n.prompt,...i.map(t=>t.prompt)].join("\n\n"),a,t,r)}}],_meta:{}}}),super.build(t)}setReasoning(t){throw new w("Named prompt builders don't require callback")}setEffort(t){throw new w("Named prompt builders don't require callback")}setCost(t){throw new w("Named prompt builders don't require callback")}setDescription(t){throw new w("Named prompt builders don't require callback")}setTitle(t){throw new w("Named prompt builders don't require callback")}static get builder(){return new V}}var Y;function K(t,e=[],r=[]){const s=V.builder.setCategory(Y.DOCS).setName(t);return["prefix",...e].forEach(t=>s.addPrefix(t)),["suffix",...r].forEach(t=>s.addSuffix(t)),s}p([m(),d("design:type",String)],V.prototype,"promptCategory",void 0),p([l(String),h(1),d("design:type",Array)],V.prototype,"prefixes",void 0),p([h(1),l(String),d("design:type",Array)],V.prototype,"suffixes",void 0),(t=>{t.DOCS="documentation",t.CODE="code"})(Y||(Y={}));const Q=[K("class"),K("constant"),K("decorator"),K("function"),K("module"),K("file"),K("repo",[],["iterate"])],X="##VERSION##";v.registerLibrary("##PACKAGE##",X);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:X,websiteUrl:"https://decaf-ts.github.io",repositoryUrl:"https://github.com/decaf-ts/mcp-server",license:"AGPL-3.0",workingDir:process.cwd(),assetDir:L(),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:"decaf-ts.atlassian.net",email:"",apiKey:""},level:o.error},et=i.accumulate(tt);t.setConfig(et);class rt extends ${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 rt}build(e){const r=this.hasErrors();if(r)throw Error(r.toString());try{const t="string"==typeof this.uriOrTemplate&&this.uriOrTemplate.includes("{")?new A(new x(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 e.resource(this.name,t,r,s)}catch(e){throw t.for(this).error("Error registering resource "+this.name,e),e}}}p([m(),d("design:type",String)],rt.prototype,"uriOrTemplate",void 0),p([m(),d("design:type",Function)],rt.prototype,"cb",void 0),p([m(),d("design:type",Object)],rt.prototype,"config",void 0);const st=a.join(process.cwd(),"src/assets"),ot=a.join(st,"templates"),it=a.join(st,"prompts");class nt{constructor(t){this.name=t}silly(...t){}verbose(...t){}info(...t){}debug(...t){}warn(...t){}error(...t){}benchmark(){return this}trace(){return this}clear(){return this}get root(){return[]}for(t){return this}setConfig(t){}}const at=t=>new nt("string"==typeof t?t:t?.name||t?.constructor?.name||"unknown");class ct extends e{get client(){if(!this._mcp)throw Error("Mcp server requires Mcp client");return this._mcp}constructor(){super()}async load(){const t=this.log.for(this.load);for(const e of Q)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(async 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=Q.map(t=>t.getName()).sort();return{content:[{type:"text",text:["Name: "+et.name,"Title: "+et.title,"Version: "+et.version,"Prompts: "+(t.join(", ")||"<none>")].join("\n")}]}})})(t)})(this.client),t.verbose("Registered built-in tools")}catch(e){t.error("Failed to register tools",e)}try{await(async(t,e)=>{e.info("Registering agent templates as resources...");const r=c.readdirSync(ot).filter(t=>t.endsWith(".md"));for(const s of r){const r=a.basename(s,".md"),o=a.join(ot,s),i=rt.builder.setName(r).setUriOtTemplate("file:///"+o).setConfig({mimeType:"text/markdown",description:"Template for "+r}).setCb(async t=>{const e=c.readFileSync(t.pathname,"utf8");return{contents:[{uri:t.toString(),text:e,mimeType:"text/markdown"}],_meta:{}}});try{i.build(t),e.info("Registered template: "+r)}catch(t){e.error(`Failed to register template ${r}:`,t)}}e.info("Registering agent prompts...");const s=c.readdirSync(it).filter(t=>t.endsWith(".md"));for(const r of s){const s=a.basename(r,".md"),o=a.join(it,r),i=c.readFileSync(o,"utf8"),n=B.builder.setName(s).setTitle("Prompt: "+s).setDescription("Dynamic prompt for "+s).setArgsSchema(u.object({})).setCb(async t=>({messages:[{role:"user",content:{type:"text",text:i}}],_meta:{}}));try{n.build(t),e.info("Registered prompt: "+s)}catch(t){e.error(`Failed to register prompt ${s}:`,t)}}})(this.client,t),t.verbose("Registered agent-specific assets")}catch(e){t.error("Failed to register agent assets",e)}}async boot(e="stdio"){let r=this.log;this.log.for(this.boot).info("McpServer booting..."),((e=t.get())=>{let r;try{r=(()=>{let t,e=__dirname;try{for(;e&&e!==a.parse(e).root;){const r=a.join(e,"node_modules");if(c.existsSync(r)&&c.statSync(r).isDirectory()){t=r;break}const s=a.dirname(e);if(s===e)break;e=s}}catch{}const r=[];if(t){const e=a.join(t,"@decaf-ts");try{if(c.existsSync(e)&&c.statSync(e).isDirectory()){const t=c.readdirSync(e);for(const s of t){const t=a.join(e,s);try{const e=a.join(t,"workdocs","assets","slogans.json");if(c.existsSync(e)&&c.statSync(e).isFile()){const t=c.readFileSync(e,"utf-8"),s=JSON.parse(t);if(Array.isArray(s))for(const t of s)"string"==typeof t&&t.trim().length>0&&r.push(t.trim())}}catch{}}}}catch{}}return 0===r.length?"Decaf: strongly brewed TypeScript.":r[Math.floor(Math.random()*r.length)]})()}catch{r="Decaf: strongly brewed TypeScript."}const s="# \u2591\u2592\u2593\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2588\u2588\u2588\u2588\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2588\u2588\u2588\u2588\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2593\u2592\u2591 \n# ( ( \u2591\u2592\u2593\u2588\u2593\u2592\u2591\u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591\u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591\u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \n# ) ) \u2591\u2592\u2593\u2588\u2593\u2592\u2591\u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591\u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \n# [=======] \u2591\u2592\u2593\u2588\u2593\u2592\u2591\u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2588\u2588\u2588\u2588\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2588\u2588\u2588\u2588\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2588\u2588\u2588\u2588\u2588\u2593\u2592\u2591 \n# `-----\xb4 \u2591\u2592\u2593\u2588\u2593\u2592\u2591\u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591\u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \n# \u2591\u2592\u2593\u2588\u2593\u2592\u2591\u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591\u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591\u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \n# \u2591\u2592\u2593\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2588\u2588\u2588\u2588\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591\u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2593\u2592\u2591 \n#".split("\n"),o=s.reduce((t,e)=>Math.max(t,e.length),0);s.push("# "+r.padStart(o-3)),s.forEach((t,r)=>{const s=I[r%I.length]||"",o=e.info.bind(e);try{o(n(t||"").raw(s).text)}catch{o((t||"")+"")}})})(this.log),"stdio"===e&&(t.setFactory(at),r=t.for(this.constructor.name));const s=((Array.isArray(et.icons)?et.icons:[et.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}}),o={name:et.name,title:et.title,websiteUrl:et.websiteUrl,version:et.version,icons:s};switch(this._mcp=new P(o,{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:{}}}),this._mcp.onerror=t=>{this.log.error("MCP instance onerror",t)},e){case"stdio":e=new C;break;case"http":e=new D({sessionIdGenerator:()=>T(),onsessioninitialized:t=>r.verbose("Session initialized: "+t),onsessionclosed:t=>r.verbose("Session closed: "+t),enableJsonResponse:!0,eventStore:void 0});break;default:if(!(i=e)||"object"!=typeof i||"function"!=typeof i.send&&"function"!=typeof i.close&&"function"!=typeof i.on)throw new w("Invalid transport type: "+e)}var i;try{this.log.info("Loading resources/prompts/tools..."),await this.load()}catch(t){throw this.log.error("Error loading resources/prompts/tools: "+t),t}await this.client.connect(e),r.info(`MCP Server connected via ${e.constructor.name} and running. Waiting for client connections...`)}}(async()=>{(new ct).boot("stdio")})();
2
2
  //# sourceMappingURL=mcp-server.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-server.js","sources":["../src/utils/banner.ts","../src/constants.ts","../src/utils/constants.ts","../src/builders/builder.ts","../src/jira/schema-utils.ts","../src/utils/conversions.ts","../src/utils/obfuscation.ts","../src/utils/asset-path.ts","../src/utils/assets.ts","../src/builders/prompt-builder.ts","../src/prompts/contants.ts","../src/prompts/jsdocs-prompts.ts","../src/prompts/index.ts","../src/builders/tool-builder.ts","../src/version.ts","../src/utils/environment.ts","../src/tools/server-info.ts","../src/tools/index.ts","../src/mcp-server.ts","../src/utils/initialization.ts","../src/utils/utils.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],"names":["colors","ReasoningLevel","EffortLevel","Cost","Paths","AssetCategory","Builder","Model","log","this","_log","Logging","for","constructor","arg","super","logFor","extra","sessionId","requestId","authInfo","length","clientId","toString","setDescription","value","description","getDescription","setName","name","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","toLevel","lvl","BASIC","ADVANCED","HIGH","MEDIUM","LOW","InternalError","MAGIC","Buffer","from","decryptObfuscatedPayload","input","subarray","equals","keyMaterial","process","env","ENCRYPTION_KEY","offset","salt","iv","tag","ciphertext","crypto","scryptSync","deriveKey","decipher","createDecipheriv","setAuthTag","plaintext","concat","update","final","zlib","gunzipSync","findAssetsDir","startDir","current","libAssets","path","join","fs","existsSync","srcAssets","plainAssets","parent","dirname","resolveAssetsDir","explicit","DECAF_ASSET_DIR","MCP_ASSET_DIR","ASSET_DIR","entry","argv","fromEntry","roots","cwd","INIT_CWD","filter","Boolean","root","found","AssetReader","LoggedClass","basePath","listAssets","folder","assetDir","readdirSync","listPrompts","PROMPT","getAsset","format","categories","filePath","readFileSync","encFallback","getAllAssets","category","reduce","acc","fileName","extWithDot","extname","basename","replace","toPromptDef","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","resolve","error","inject","ZodObject","prop","NamedPromptBuilder","setCategory","promptCategory","addPrefix","prefixes","push","addSuffix","suffixes","promptDef","assets","fromObject","toIgnoreProps","Set","Metadata","properties","k","includes","forEach","add","map","argSchema","flat","el","string","describe","parsePlaceholders","messages","role","content","PromptCategories","namedPromptBuilder","extraPrefix","extraSuffix","pb","DOCS","list","String","minlength","Prompts","ToolBuilder","setAnnotations","annotations","setInputSchema","inputSchema","setOutputSchema","outputSchema","readOnlyHint","destructiveHint","idempotentHint","openWorldHint","inputShape","outputShape","registerTool","msg","message","warn","VERSION","registerLibrary","DefaultMcpEnvironment","mcpId","version","websiteUrl","repositoryUrl","license","workingDir","contacts","url","tags","metadata","icons","src","mimeType","sizes","jira","host","email","apiKey","level","LogLevel","Environment","LoggedEnvironment","accumulate","setConfig","Tools","_args","_extra","promptNames","sort","McpServer","client","_mcp","load","info","tool","boot","transportType","logger","get","nodeModulesDir","__dirname","candidate","statSync","isDirectory","slogans","scopeDir","pkgs","pkg","depPath","slogansPath","isFile","raw","parsed","trim","Math","floor","random","getSlogan","banner","split","maxLength","max","line","padStart","index","color","logFn","bind","style","printBanner","normalizedIcons","i","serverInfo","MCP","instructions","capabilities","logging","tools","prompts","onerror","err","StdioServerTransport","StreamableHTTPServerTransport","sessionIdGenerator","v4","onsessioninitialized","onsessionclosed","enableJsonResponse","eventStore","allowedHosts","allowedOrigins","enableDnsRebindingProtection","send","close","on","connect","main"],"mappings":"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"}
1
+ {"version":3,"file":"mcp-server.js","sources":["../src/utils/banner.ts","../src/constants.ts","../src/utils/constants.ts","../src/builders/builder.ts","../src/jira/schema-utils.ts","../src/utils/conversions.ts","../src/utils/obfuscation.ts","../src/utils/asset-path.ts","../src/utils/assets.ts","../src/builders/prompt-builder.ts","../src/prompts/contants.ts","../src/prompts/jsdocs-prompts.ts","../src/prompts/index.ts","../src/version.ts","../src/utils/environment.ts","../src/builders/resource-builder.ts","../src/agent/registrations.ts","../src/utils/stdio-error-logger.ts","../src/mcp-server.ts","../src/tools/index.ts","../src/tools/server-info.ts","../src/utils/initialization.ts","../src/utils/utils.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],"names":["colors","ReasoningLevel","EffortLevel","Cost","Paths","AssetCategory","Builder","Model","log","this","_log","Logging","for","constructor","arg","super","logFor","extra","sessionId","requestId","authInfo","length","clientId","toString","setDescription","value","description","getDescription","setName","name","getName","setTitle","title","__decorate","required","prototype","UsableBuilder","reasoning","NONE","effort","cost","FREE","setReasoning","setEffort","setCost","findUnderlyingZodObject","s","cur","def","_def","typeName","schema","innerType","undefined","isZodSchema","toLevel","lvl","BASIC","ADVANCED","HIGH","MEDIUM","LOW","InternalError","MAGIC","Buffer","from","decryptObfuscatedPayload","input","Error","subarray","equals","keyMaterial","process","env","ENCRYPTION_KEY","offset","salt","iv","tag","ciphertext","key","crypto","scryptSync","deriveKey","decipher","createDecipheriv","setAuthTag","plaintext","concat","update","final","zlib","gunzipSync","findAssetsDir","startDir","current","libAssets","path","join","fs","existsSync","srcAssets","plainAssets","parent","dirname","resolveAssetsDir","explicit","DECAF_ASSET_DIR","MCP_ASSET_DIR","ASSET_DIR","entry","argv","fromEntry","roots","cwd","INIT_CWD","filter","Boolean","root","found","AssetReader","LoggedClass","basePath","listAssets","folder","assetDir","readdirSync","listPrompts","PROMPT","getAsset","format","categories","filePath","readFileSync","encFallback","getAllAssets","category","reduce","acc","fileName","extWithDot","extname","basename","replace","toPromptDef","getPrompt","text","toSnakeCase","JSON","parse","e","SerializationError","getAllPrompts","texts","Object","entries","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","defLike","shape","type","normalizedShape","z","any","object","ensureZodObject","argsShape","extractShape","registerPrompt","async","args","assign","_meta","usage","result","Promise","resolve","error","inject","ZodObject","prop","NamedPromptBuilder","setCategory","promptCategory","addPrefix","prefixes","push","addSuffix","suffixes","promptDef","assets","fromObject","toIgnoreProps","Set","Metadata","properties","k","includes","forEach","add","map","argSchema","flat","el","string","describe","parsePlaceholders","messages","role","content","PromptCategories","namedPromptBuilder","extraPrefix","extraSuffix","pb","DOCS","list","String","minlength","Prompts","VERSION","registerLibrary","DefaultMcpEnvironment","mcpId","version","websiteUrl","repositoryUrl","license","workingDir","contacts","url","tags","metadata","icons","src","mimeType","sizes","jira","host","email","apiKey","level","LogLevel","Environment","LoggedEnvironment","accumulate","setConfig","ResourceBuilder","config","setUriOtTemplate","uriOrTemplate","uriOrTemplateArg","ResourceTemplate","UriTemplate","readCb","uri","resource","ASSETS_DIR","TEMPLATES_DIR","PROMPTS_DIR","StdioErrorLogger","silly","info","warn","benchmark","trace","clear","context","stdioErrorLoggerFactory","McpServer","client","_mcp","load","registerTool","inputSchema","outputSchema","annotations","readOnlyHint","destructiveHint","idempotentHint","openWorldHint","promptNames","sort","registerServerInfoTool","registerTools","templateFiles","file","endsWith","resourceBuilder","pathname","contents","promptFiles","promptContent","promptBuilder","registerAgentAssets","boot","transportType","logger","get","message","nodeModulesDir","__dirname","candidate","statSync","isDirectory","slogans","scopeDir","pkgs","pkg","depPath","slogansPath","isFile","raw","parsed","trim","Math","floor","random","getSlogan","banner","split","maxLength","max","line","padStart","index","color","logFn","bind","style","printBanner","setFactory","normalizedIcons","i","serverInfo","MCP","instructions","capabilities","logging","tools","prompts","onerror","err","StdioServerTransport","StreamableHTTPServerTransport","sessionIdGenerator","v4","onsessioninitialized","onsessionclosed","enableJsonResponse","eventStore","send","close","on","connect","main"],"mappings":"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"}
package/package.json CHANGED
@@ -96,11 +96,13 @@
96
96
  "@decaf-ts/logging": "latest",
97
97
  "@modelcontextprotocol/inspector": "^0.19.0",
98
98
  "@modelcontextprotocol/sdk": "^1.25.3",
99
+ "behavior3js": "^0.2.2",
100
+ "goap-solver": "^0.4.0",
99
101
  "jira.js": "^5.2.2",
100
102
  "js-yaml": "^4.1.1",
101
103
  "ts-morph": "^27.0.2",
102
104
  "uuid": "^13.0.0"
103
105
  },
104
106
  "license": "AGPL-3.0",
105
- "version": "1.0.7"
107
+ "version": "1.0.9"
106
108
  }