@hhsw2015/task-master-ai 0.43.9 → 0.43.11
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.
- package/dist/ai-services-unified-BpfeMi5b.js +1 -0
- package/dist/{ai-services-unified-D_pA4zzB.js → ai-services-unified-CEISDqFA.js} +1 -1
- package/dist/commands-KgO10GUj.js +329 -0
- package/dist/{config-manager-Dn_JApjY.js → config-manager-3pTgfD7M.js} +28 -28
- package/dist/{config-manager-BiA1Lh9-.js → config-manager-CgVZwH7E.js} +1 -1
- package/dist/{dependency-manager-DCJfWg5J.js → dependency-manager-C-vZzEg8.js} +153 -153
- package/dist/mcp-server.js +6 -6
- package/dist/{profiles-7-gfpDbJ.js → profiles-Bcr6LYd4.js} +2 -2
- package/dist/research-LCg5MHnP.js +1 -0
- package/dist/{response-language-DeTA_0Bx.js → response-language-CoZ1-GFh.js} +1 -1
- package/dist/response-language-Cqon4F_J.js +1 -0
- package/dist/{sentry-Dbx7-h6F.js → sentry-BU9KKY_b.js} +1 -1
- package/dist/tag-management-DvcGPdM_.js +1 -0
- package/dist/{task-manager-HDzyAeYH.js → task-manager-usj-gUpk.js} +1 -1
- package/dist/task-master.js +1 -1
- package/dist/update-subtask-by-id-B5uMpDq6.js +1 -0
- package/dist/update-task-by-id-D_HOOs3f.js +1 -0
- package/dist/{utils-CtCI5DEr.js → utils-Dr4DuQDO.js} +1 -1
- package/package.json +2 -1
- package/dist/ai-services-unified-DYXlveV4.js +0 -1
- package/dist/commands-Y2xHjinr.js +0 -329
- package/dist/research-CIvc4exM.js +0 -1
- package/dist/response-language-B4B6uk8r.js +0 -1
- package/dist/tag-management-qNhvnELi.js +0 -1
- package/dist/update-subtask-by-id-OR7LPqsO.js +0 -1
- package/dist/update-task-by-id-mhULzJWi.js +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{c as e}from"./ai-services-unified-
|
|
1
|
+
import{c as e}from"./ai-services-unified-CEISDqFA.js";import{Bt as t,E as n,Ft as r,Gt as i,Ht as a,It as o,J as s,Pt as c,Ut as l,Vt as u,Wt as d,hn as f,qt as p,vt as m,yt as h}from"./config-manager-3pTgfD7M.js";import{r as g}from"./git-utils-DllbRE35.js";import{Ct as _,St as v,Tt as y,x as ee}from"./dependency-manager-C-vZzEg8.js";import*as b from"node:path";import x from"chalk";import S from"fs";import C from"path";import{randomUUID as w}from"crypto";import T from"os";import*as E from"node:fs";import*as te from"node:os";import{execSync as D}from"child_process";import{fileURLToPath as ne}from"url";import O from"boxen";import k from"readline";import re from"figlet";import ie from"gradient-string";import ae from"inquirer";import oe from"ora";import se from"open";const A=[`amp`,`claude`,`cline`,`codex`,`cursor`,`gemini`,`kiro`,`opencode`,`kilo`,`roo`,`trae`,`vscode`,`windsurf`,`zed`],ce=[`architect`,`ask`,`orchestrator`,`code`,`debug`,`test`],j=`# Task files`,M=`tasks.json`,N=`tasks/`;function le(e){return e.trim().replace(/^#/,``).trim()}function P(e){let t=le(e);return t===M||t===N}function ue(e,t){return e.map(e=>{if(P(e)){let n=le(e),r=e.match(/\s*$/)[0];return t?`# ${n}${r}`:`${n}${r}`}return e})}function de(e){let t=[],n=!1;for(let r of e){if(r.trim()===j){n=!0;continue}P(r)||n&&!r.trim()||(n&&r.trim()&&!P(r)&&(n=!1),n||t.push(r))}return t}function fe(e,t){return e.filter(e=>{let n=e.trim();return!n||P(e)||n===j?!1:!t.has(n)})}function pe(e){let t=[j];return e?t.push(`# ${M}`,`# ${N} `):t.push(M,`${N} `),t}function me(e){if(e.some(e=>e.trim())){let t=e[e.length-1];t&&t.trim()&&e.push(``)}}function he(e,t,n){if(!e||typeof e!=`string`)throw Error(`targetPath must be a non-empty string`);if(!e.endsWith(`.gitignore`))throw Error(`targetPath must end with .gitignore`);if(!t||typeof t!=`string`)throw Error(`content must be a non-empty string`);if(typeof n!=`boolean`)throw Error(`storeTasksInGit must be a boolean`)}function ge(e,t,n){try{S.writeFileSync(e,t.join(`
|
|
2
2
|
`)+`
|
|
3
3
|
`),typeof n==`function`&&n(`success`,`Created ${e} with full template`)}catch(t){throw typeof n==`function`&&n(`error`,`Failed to create ${e}: ${t.message}`),t}}function _e(e,t,n,r){try{let i=de(S.readFileSync(e,`utf8`).split(`
|
|
4
4
|
`)),a=fe(t,new Set(i.map(e=>e.trim()).filter(e=>e))),o=[...i];a.length>0&&(me(o),o.push(...a)),me(o),o.push(...pe(n)),S.writeFileSync(e,o.join(`
|
|
@@ -3510,7 +3510,7 @@ Do you want to continue with these settings? (Y/n): `))).trim().toLowerCase()===
|
|
|
3510
3510
|
`));let{storageType:e}=await ae.prompt([{type:`list`,name:`storageType`,message:x.white(`How do you want to build it?
|
|
3511
3511
|
`),choices:[{name:[x.bold(`Solo (Taskmaster)`),``,x.white(` • Parse your own PRDs into structured task lists and build with any IDE or background agents`),x.white(` • Agents execute tasks with precision, no scope creep, no going off-track`),x.white(` • Tasks live in a local JSON file, everything stays in your repo`),x.white(` • Upgrade to Hamster to bring the Taskmaster experience to your team`),``].join(`
|
|
3512
3512
|
`),value:`local`,short:`Solo (Taskmaster)`},{name:[x.bold(`Together (Hamster)`),``,x.white(` • Write a brief with your team. Hamster refines it into a plan.`),x.white(` • Your team drafts, refines, and aligns on the same page before executing`),x.white(` • One brief, one plan, one source of truth for execution`),x.white(` • Access tasks on Taskmaster and execute with any AI agent`),``].join(`
|
|
3513
|
-
`),value:`cloud`,short:`Together (Hamster)`}],default:`local`,pageSize:20}]);return e}catch(e){if(e.isTtyError||e.name===`ExitPromptError`)return X(`warn`,`Storage selection cancelled, defaulting to local storage`),`local`;throw e}}async function bn(e,n,s,d,f,h=A,_=`local`,v=null){let y=process.cwd();X(`debug`,`Initializing project in ${y}`),Z(C.join(y,u)),Z(C.join(y,i)),Z(C.join(y,a)),Z(C.join(y,l)),Z(C.join(y,p)),hn(y);let b={year:new Date().getFullYear()},S=_===`cloud`?`team`:`solo`;function w(e){let t=q(e);t?J(y,t,{mode:S}):X(`warn`,`Unknown rule profile: ${e}`)}Q(`env.example`,C.join(y,c),b),Q(`config.json`,C.join(y,t),{...b});let T=C.join(y,t);dn(T)?X(`debug`,`Updated config with correct maxTokens values`):X(`debug`,`Could not update maxTokens in config`),vn(T,_,v);try{let e=L(`gitignore`,`utf8`);ve(C.join(y,o),e,s,X)}catch(e){X(`error`,`Failed to create .gitignore: ${e.message}`)}Q(`example_prd.txt`,C.join(y,r)),Q(`example_prd_rpg.txt`,C.join(y,p,`example_prd_rpg.txt`));try{n===!1?X(`info`,`Git initialization skipped due to --no-git flag.`):n===!0?g()?X(`debug`,`Existing Git repository detected – skipping git init despite --git flag.`):(X(`info`,`Initializing Git repository due to --git flag...`),D(`git init`,{cwd:y,stdio:`ignore`}),X(`success`,`Git repository initialized`)):g()?X(`debug`,`Existing Git repository detected – skipping git init.`):(X(`info`,`No Git repository detected. Initializing one in project root...`),D(`git init`,{cwd:y,stdio:`ignore`}),X(`success`,`Git repository initialized`))}catch{X(`warn`,`Git not available, skipping repository initialization`)}if(f.rulesExplicitlyProvided||f.yes){X(`info`,`Generating profile rules from command-line flags...`);for(let e of h)w(e)}e&&mn();let E={cwd:y,stdio:`inherit`};if(m()&&(E.stdio=`ignore`,X(`info`,`Running npm install silently...`)),f.shouldSetupRules&&!m()&&!d&&!f?.yes&&!f.rulesExplicitlyProvided){console.log(O(x.cyan(`Configuring Rule Profiles...`),{padding:.5,margin:{top:1,bottom:.5},borderStyle:`round`,borderColor:`cyan`,width:60})),X(`info`,`Running interactive rules setup. Please select which rule profiles to include.`);try{D(`npx task-master rules --setup`,{stdio:`inherit`,cwd:y}),X(`success`,`Rule profiles configured.`)}catch(e){X(`error`,`Failed to configure rule profiles:`,e.message),X(`warn`,`You may need to run "task-master rules --setup" manually.`)}}else m()||d||f?.yes?f.rulesExplicitlyProvided?X(`debug`,`Skipping interactive rules setup because --rules flag was used.`):X(`debug`,`Skipping interactive rules setup in non-interactive mode.`):f.shouldSetupRules||X(`debug`,`Skipping rules setup - user declined.`);if(f.preferredLanguage&&!d)try{let e=(await import(`./response-language-
|
|
3513
|
+
`),value:`cloud`,short:`Together (Hamster)`}],default:`local`,pageSize:20}]);return e}catch(e){if(e.isTtyError||e.name===`ExitPromptError`)return X(`warn`,`Storage selection cancelled, defaulting to local storage`),`local`;throw e}}async function bn(e,n,s,d,f,h=A,_=`local`,v=null){let y=process.cwd();X(`debug`,`Initializing project in ${y}`),Z(C.join(y,u)),Z(C.join(y,i)),Z(C.join(y,a)),Z(C.join(y,l)),Z(C.join(y,p)),hn(y);let b={year:new Date().getFullYear()},S=_===`cloud`?`team`:`solo`;function w(e){let t=q(e);t?J(y,t,{mode:S}):X(`warn`,`Unknown rule profile: ${e}`)}Q(`env.example`,C.join(y,c),b),Q(`config.json`,C.join(y,t),{...b});let T=C.join(y,t);dn(T)?X(`debug`,`Updated config with correct maxTokens values`):X(`debug`,`Could not update maxTokens in config`),vn(T,_,v);try{let e=L(`gitignore`,`utf8`);ve(C.join(y,o),e,s,X)}catch(e){X(`error`,`Failed to create .gitignore: ${e.message}`)}Q(`example_prd.txt`,C.join(y,r)),Q(`example_prd_rpg.txt`,C.join(y,p,`example_prd_rpg.txt`));try{n===!1?X(`info`,`Git initialization skipped due to --no-git flag.`):n===!0?g()?X(`debug`,`Existing Git repository detected – skipping git init despite --git flag.`):(X(`info`,`Initializing Git repository due to --git flag...`),D(`git init`,{cwd:y,stdio:`ignore`}),X(`success`,`Git repository initialized`)):g()?X(`debug`,`Existing Git repository detected – skipping git init.`):(X(`info`,`No Git repository detected. Initializing one in project root...`),D(`git init`,{cwd:y,stdio:`ignore`}),X(`success`,`Git repository initialized`))}catch{X(`warn`,`Git not available, skipping repository initialization`)}if(f.rulesExplicitlyProvided||f.yes){X(`info`,`Generating profile rules from command-line flags...`);for(let e of h)w(e)}e&&mn();let E={cwd:y,stdio:`inherit`};if(m()&&(E.stdio=`ignore`,X(`info`,`Running npm install silently...`)),f.shouldSetupRules&&!m()&&!d&&!f?.yes&&!f.rulesExplicitlyProvided){console.log(O(x.cyan(`Configuring Rule Profiles...`),{padding:.5,margin:{top:1,bottom:.5},borderStyle:`round`,borderColor:`cyan`,width:60})),X(`info`,`Running interactive rules setup. Please select which rule profiles to include.`);try{D(`npx task-master rules --setup`,{stdio:`inherit`,cwd:y}),X(`success`,`Rule profiles configured.`)}catch(e){X(`error`,`Failed to configure rule profiles:`,e.message),X(`warn`,`You may need to run "task-master rules --setup" manually.`)}}else m()||d||f?.yes?f.rulesExplicitlyProvided?X(`debug`,`Skipping interactive rules setup because --rules flag was used.`):X(`debug`,`Skipping interactive rules setup in non-interactive mode.`):f.shouldSetupRules||X(`debug`,`Skipping rules setup - user declined.`);if(f.preferredLanguage&&!d)try{let e=(await import(`./response-language-Cqon4F_J.js`)).default;e(f.preferredLanguage,{projectRoot:y,silent:!0}),X(`debug`,`Response language set to: ${f.preferredLanguage}`)}catch(e){X(`warn`,`Failed to set response language: ${e.message}`)}else m()&&!d?X(`debug`,`Skipping response language setup in silent (MCP) mode.`):d&&X(`debug`,`DRY RUN: Skipping response language setup.`);if(!m()&&!d&&!f?.yes&&_===`local`){console.log(O(x.cyan(`Configuring AI Models...`),{padding:.5,margin:{top:1,bottom:.5},borderStyle:`round`,borderColor:`cyan`,width:60})),X(`info`,`Running interactive model setup. Please select your preferred AI models.`);try{D(`npx task-master models --setup`,{stdio:`inherit`,cwd:y}),X(`success`,`AI Models configured.`)}catch(e){X(`error`,`Failed to configure AI models:`,e.message),X(`warn`,`You may need to run "task-master models --setup" manually.`)}}else _===`cloud`&&!d?console.log(O(x.green.bold(`✓ AI Models Managed by Hamster - go ham!
|
|
3514
3514
|
|
|
3515
3515
|
`)+x.white(`Hamster handles all AI model configuration for you.
|
|
3516
3516
|
`)+x.dim(`• Optimized model selection for your tasks
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./ai-services-unified-CEISDqFA.js";import"./config-manager-3pTgfD7M.js";import"./git-utils-DllbRE35.js";import"./sentry-BU9KKY_b.js";import{A as e}from"./dependency-manager-C-vZzEg8.js";import"./response-language-CoZ1-GFh.js";export{e as performResearch};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{B as e,X as t,f as n,q as r,yt as i}from"./config-manager-
|
|
1
|
+
import{B as e,X as t,f as n,q as r,yt as i}from"./config-manager-3pTgfD7M.js";function a(a,o={}){let{mcpLog:s,projectRoot:c}=o,l=(e,...t)=>{s&&typeof s[e]==`function`&&s[e](...t)},u=t(null,{projectRoot:c}),d=e(c);if(i(`debug`,`Checking for config file using findConfigPath, found: ${u}`),i(`debug`,`Checking config file using isConfigFilePresent(), exists: ${d}`),!d)return{success:!1,error:{code:`CONFIG_MISSING`,message:`The configuration file is missing. Run "task-master init" to create it.`}};if(typeof a!=`string`||a.trim()===``)return{success:!1,error:{code:`INVALID_RESPONSE_LANGUAGE`,message:`Invalid response language: ${a}. Must be a non-empty string.`}};try{let e=n(c);return e.global.responseLanguage=a,r(e,c)?{success:!0,data:{responseLanguage:a,message:successMessage}}:{success:!1,error:{code:`WRITE_ERROR`,message:`Error writing updated configuration to configuration file`}}}catch(e){return l(`error`,`Error setting response language: ${e.message}`),{success:!1,error:{code:`SET_RESPONSE_LANGUAGE_ERROR`,message:e.message}}}}var o=a;export{o as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./config-manager-3pTgfD7M.js";import"./git-utils-DllbRE35.js";import{t as e}from"./response-language-CoZ1-GFh.js";export{e as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{U as e,r as t}from"./config-manager-
|
|
1
|
+
import{U as e,r as t}from"./config-manager-3pTgfD7M.js";import{createHash as n}from"crypto";import*as r from"@sentry/node";let i=!1;function a(e){if(e)return n(`sha256`).update(e).digest(`hex`).substring(0,8)}function o(n={}){if(i)return;e(!0);try{if(!t(n.projectRoot)){console.log(`✓ Anonymous telemetry disabled per user preference. Set anonymousTelemetry: true in .taskmaster/config.json to re-enable.`);return}}catch{}finally{e(!1)}let a=n.dsn||`https://ce8c03ca1dd0da5b9837c6ba1b3a0f9d@o4510099843776512.ingest.us.sentry.io/4510381945585664`;if(a)try{r.init({dsn:a,environment:n.environment||process.env.NODE_ENV||`production`,integrations:[r.vercelAIIntegration({recordInputs:!0,recordOutputs:!0}),r.zodErrorsIntegration()],tracesSampleRate:n.tracesSampleRate??1,sendDefaultPii:n.sendDefaultPii??!0,debug:process.env.SENTRY_DEBUG===`true`}),i=!0,process.env.SENTRY_DEBUG===`true`&&(console.log(` DSN: ${a.substring(0,40)}...`),console.log(` Environment: ${n.environment||process.env.NODE_ENV||`production`}`),console.log(` Traces Sample Rate: ${n.tracesSampleRate??1}`))}catch(e){console.error(`Failed to initialize telemetry: ${e.message}`)}}function s(e,t={}){if(!i)return process.env.SENTRY_DEBUG===`true`&&console.log(`⚠️ Sentry not initialized, telemetry config not available`),null;let n={isEnabled:!0,recordInputs:!0,recordOutputs:!0};return e&&(n.functionId=e),Object.keys(t).length>0&&(n.metadata={},t.command&&(n.metadata.command=t.command),t.outputType&&(n.metadata.outputType=t.outputType),t.tag&&(n.metadata.tag=t.tag),t.taskId&&(n.metadata.taskId=t.taskId),t.userId&&(n.metadata.userId=t.userId),t.briefId&&(n.metadata.briefId=t.briefId),t.projectHash&&(n.metadata.projectHash=t.projectHash)),process.env.SENTRY_DEBUG===`true`&&console.log(`📊 Sentry telemetry config created:`,JSON.stringify(n,null,2)),n}export{a as n,o as r,s as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./ai-services-unified-CEISDqFA.js";import"./config-manager-3pTgfD7M.js";import"./git-utils-DllbRE35.js";import"./sentry-BU9KKY_b.js";import{ct as e,dt as t,ft as n,ht as r,lt as i,mt as a,pt as o,st as s,ut as c}from"./dependency-manager-C-vZzEg8.js";import"./response-language-CoZ1-GFh.js";export{s as copyTag,e as createTag,i as createTagFromBranch,c as deleteTag,t as renameTag,n as switchCurrentTag,o as tags,a as updateBranchTagMapping,r as useTag};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./ai-services-unified-
|
|
1
|
+
import"./ai-services-unified-CEISDqFA.js";import{dt as e,wt as t}from"./config-manager-3pTgfD7M.js";import"./git-utils-DllbRE35.js";import"./sentry-BU9KKY_b.js";import{$ as n,A as r,C as i,D as a,E as o,I as s,J as c,K as l,L as u,M as d,N as f,O as p,P as m,Q as h,S as g,T as _,X as v,Y as y,Z as b,gt as x,j as S,k as C,q as w,w as T}from"./dependency-manager-C-vZzEg8.js";import{t as E}from"./response-language-CoZ1-GFh.js";export{n as addSubtask,h as addTask,b as analyzeTaskComplexity,v as clearSubtasks,c as expandAllTasks,y as expandTask,x as findNextTask,e as findTaskById,w as isTaskDependentOn,l as listTasks,u as migrateProject,s as moveTask,m as parsePRD,r as performResearch,t as readComplexityReport,f as removeSubtask,S as removeTask,a as scopeDownTask,p as scopeUpTask,E as setResponseLanguage,_ as setTaskStatus,d as taskExists,o as updateSingleTaskStatus,T as updateSubtaskById,i as updateTaskById,g as updateTasks,C as validateStrength};
|
package/dist/task-master.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import{U as e,cn as t,hn as n}from"./config-manager-
|
|
2
|
+
import{U as e,cn as t,hn as n}from"./config-manager-3pTgfD7M.js";import"./git-utils-DllbRE35.js";import{r}from"./sentry-BU9KKY_b.js";import{join as i}from"node:path";import a from"dotenv";const o=process.cwd(),s=t();a.config({path:i(s,`.env`)}),r({projectRoot:s}),process.env.TASKMASTER_ORIGINAL_CWD=o,process.env.DEBUG===`1`&&console.error(`DEBUG - dev.js received args:`,process.argv.slice(2));try{await n.getInstance().hasValidSession()&&e(!0)}catch{e(!1)}const{runCLI:c}=await import(`./commands-KgO10GUj.js`);c(process.argv);export{};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./ai-services-unified-CEISDqFA.js";import"./config-manager-3pTgfD7M.js";import"./git-utils-DllbRE35.js";import"./sentry-BU9KKY_b.js";import{w as e}from"./dependency-manager-C-vZzEg8.js";import"./response-language-CoZ1-GFh.js";export{e as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./ai-services-unified-CEISDqFA.js";import"./config-manager-3pTgfD7M.js";import"./git-utils-DllbRE35.js";import"./sentry-BU9KKY_b.js";import{C as e}from"./dependency-manager-C-vZzEg8.js";import"./response-language-CoZ1-GFh.js";export{e as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{At as e,Ct as t,Dt as n,Et as r,Mt as i,Ot as a,St as o,Tt as s,_t as c,at as l,bt as u,ct as d,dt as f,ft as p,gt as m,ht as h,it as g,jt as _,kt as v,lt as y,mt as b,nt as x,ot as S,pt as C,rt as w,st as T,ut as E,vt as D,wt as O,xt as k,yt as A}from"./config-manager-
|
|
1
|
+
import{At as e,Ct as t,Dt as n,Et as r,Mt as i,Ot as a,St as o,Tt as s,_t as c,at as l,bt as u,ct as d,dt as f,ft as p,gt as m,ht as h,it as g,jt as _,kt as v,lt as y,mt as b,nt as x,ot as S,pt as C,rt as w,st as T,ut as E,vt as D,wt as O,xt as k,yt as A}from"./config-manager-3pTgfD7M.js";import"./git-utils-DllbRE35.js";export{x as LOG_LEVELS,w as addComplexityToTask,g as aggregateTelemetry,l as createStateJson,S as disableSilentMode,T as enableSilentMode,d as ensureTagMetadata,y as findCycles,E as findProjectRoot,f as findTaskById,p as findTaskInComplexityReport,C as flattenTasksWithSubtasks,b as formatTaskId,h as getCurrentTag,m as getTasksForTag,c as isEmpty,D as isSilentMode,A as log,u as markMigrationForNotice,k as migrateConfigJson,o as normalizeTaskIds,t as performCompleteTagMigration,O as readComplexityReport,s as readJSON,r as resolveEnvVariable,n as resolveTag,a as taskExists,v as traverseDependencies,e as truncate,_ as withFileLockSync,i as writeJSON};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hhsw2015/task-master-ai",
|
|
3
|
-
"version": "0.43.
|
|
3
|
+
"version": "0.43.11",
|
|
4
4
|
"description": "A task management system for ambitious AI-driven development that doesn't overwhelm and confuse Cursor.",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"type": "module",
|
|
@@ -37,6 +37,7 @@
|
|
|
37
37
|
"test:ci": "node --experimental-vm-modules node_modules/.bin/jest --coverage --ci",
|
|
38
38
|
"test:e2e": "./tests/e2e/run_e2e.sh",
|
|
39
39
|
"test:e2e-report": "./tests/e2e/run_e2e.sh --analyze-log",
|
|
40
|
+
"prepack": "npm run build",
|
|
40
41
|
"postpack": "chmod +x dist/task-master.js dist/mcp-server.js",
|
|
41
42
|
"changeset": "changeset",
|
|
42
43
|
"changeset:validate": "node .github/scripts/validate-changesets.mjs",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as e,i as t,n,r,t as i}from"./ai-services-unified-D_pA4zzB.js";import"./config-manager-Dn_JApjY.js";import"./git-utils-DllbRE35.js";import"./sentry-Dbx7-h6F.js";export{i as generateObjectService,n as generateTextService,r as logAiUsage,t as streamObjectService,e as streamTextService};
|