@pedrocivita/tocket 2.3.0 → 2.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/README.md +36 -13
  2. package/dist/commands/config.cmd.js +33 -6
  3. package/dist/commands/config.cmd.js.map +1 -1
  4. package/dist/commands/dashboard.js +2 -0
  5. package/dist/commands/dashboard.js.map +1 -1
  6. package/dist/commands/diff.cmd.d.ts +15 -0
  7. package/dist/commands/diff.cmd.js +106 -0
  8. package/dist/commands/diff.cmd.js.map +1 -0
  9. package/dist/commands/doctor.cmd.js +24 -0
  10. package/dist/commands/doctor.cmd.js.map +1 -1
  11. package/dist/commands/generate.cmd.js +7 -1
  12. package/dist/commands/generate.cmd.js.map +1 -1
  13. package/dist/commands/handoff.cmd.d.ts +14 -0
  14. package/dist/commands/handoff.cmd.js +131 -0
  15. package/dist/commands/handoff.cmd.js.map +1 -0
  16. package/dist/commands/init.cmd.js +19 -7
  17. package/dist/commands/init.cmd.js.map +1 -1
  18. package/dist/index.js +4 -0
  19. package/dist/index.js.map +1 -1
  20. package/dist/templates/memory-bank.d.ts +9 -5
  21. package/dist/templates/memory-bank.js +22 -18
  22. package/dist/templates/memory-bank.js.map +1 -1
  23. package/dist/tests/agents.test.d.ts +1 -0
  24. package/dist/tests/agents.test.js +102 -0
  25. package/dist/tests/agents.test.js.map +1 -0
  26. package/dist/tests/config.test.js +39 -0
  27. package/dist/tests/config.test.js.map +1 -1
  28. package/dist/tests/diff.test.d.ts +1 -0
  29. package/dist/tests/diff.test.js +119 -0
  30. package/dist/tests/diff.test.js.map +1 -0
  31. package/dist/tests/git.test.js +15 -1
  32. package/dist/tests/git.test.js.map +1 -1
  33. package/dist/tests/handoff.test.d.ts +1 -0
  34. package/dist/tests/handoff.test.js +97 -0
  35. package/dist/tests/handoff.test.js.map +1 -0
  36. package/dist/tests/init-templates.test.js +25 -0
  37. package/dist/tests/init-templates.test.js.map +1 -1
  38. package/dist/tests/init.test.js +3 -2
  39. package/dist/tests/init.test.js.map +1 -1
  40. package/dist/tests/memory-bank.test.js +58 -13
  41. package/dist/tests/memory-bank.test.js.map +1 -1
  42. package/dist/tests/xml.test.d.ts +1 -0
  43. package/dist/tests/xml.test.js +139 -0
  44. package/dist/tests/xml.test.js.map +1 -0
  45. package/dist/utils/agents.d.ts +8 -0
  46. package/dist/utils/agents.js +29 -0
  47. package/dist/utils/agents.js.map +1 -0
  48. package/dist/utils/config.d.ts +4 -0
  49. package/dist/utils/config.js +1 -0
  50. package/dist/utils/config.js.map +1 -1
  51. package/dist/utils/git.d.ts +2 -0
  52. package/dist/utils/git.js +27 -0
  53. package/dist/utils/git.js.map +1 -1
  54. package/dist/utils/templates.d.ts +4 -0
  55. package/dist/utils/templates.js +5 -1
  56. package/dist/utils/templates.js.map +1 -1
  57. package/dist/utils/xml.d.ts +22 -0
  58. package/dist/utils/xml.js +54 -0
  59. package/dist/utils/xml.js.map +1 -0
  60. package/package.json +1 -1
@@ -0,0 +1,29 @@
1
+ export const DEFAULT_EXECUTOR = "Claude Code";
2
+ export const DEFAULT_ARCHITECT = "Gemini";
3
+ export const EXECUTOR_FILE_MAP = {
4
+ "claude code": "CLAUDE.md",
5
+ "claude": "CLAUDE.md",
6
+ "cursor": ".cursorrules",
7
+ "windsurf": ".windsurfrules",
8
+ "copilot": ".github/copilot-instructions.md",
9
+ };
10
+ export const ARCHITECT_FILE_MAP = {
11
+ "gemini": "GEMINI.md",
12
+ };
13
+ export function getExecutorFileName(agentName) {
14
+ if (!agentName)
15
+ return EXECUTOR_FILE_MAP["claude code"];
16
+ return EXECUTOR_FILE_MAP[agentName.toLowerCase()] ?? "EXECUTOR.md";
17
+ }
18
+ export function getArchitectFileName(agentName) {
19
+ if (!agentName)
20
+ return ARCHITECT_FILE_MAP["gemini"];
21
+ return ARCHITECT_FILE_MAP[agentName.toLowerCase()] ?? "ARCHITECT.md";
22
+ }
23
+ export function getExecutorDisplayName(agentName) {
24
+ return agentName || DEFAULT_EXECUTOR;
25
+ }
26
+ export function getArchitectDisplayName(agentName) {
27
+ return agentName || DEFAULT_ARCHITECT;
28
+ }
29
+ //# sourceMappingURL=agents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agents.js","sourceRoot":"","sources":["../../src/utils/agents.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,gBAAgB,GAAG,aAAa,CAAC;AAC9C,MAAM,CAAC,MAAM,iBAAiB,GAAG,QAAQ,CAAC;AAE1C,MAAM,CAAC,MAAM,iBAAiB,GAA2B;IACvD,aAAa,EAAE,WAAW;IAC1B,QAAQ,EAAE,WAAW;IACrB,QAAQ,EAAE,cAAc;IACxB,UAAU,EAAE,gBAAgB;IAC5B,SAAS,EAAE,iCAAiC;CAC7C,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAA2B;IACxD,QAAQ,EAAE,WAAW;CACtB,CAAC;AAEF,MAAM,UAAU,mBAAmB,CAAC,SAAkB;IACpD,IAAI,CAAC,SAAS;QAAE,OAAO,iBAAiB,CAAC,aAAa,CAAE,CAAC;IACzD,OAAO,iBAAiB,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,IAAI,aAAa,CAAC;AACrE,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,SAAkB;IACrD,IAAI,CAAC,SAAS;QAAE,OAAO,kBAAkB,CAAC,QAAQ,CAAE,CAAC;IACrD,OAAO,kBAAkB,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,IAAI,cAAc,CAAC;AACvE,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,SAAkB;IACvD,OAAO,SAAS,IAAI,gBAAgB,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,SAAkB;IACxD,OAAO,SAAS,IAAI,iBAAiB,CAAC;AACxC,CAAC"}
@@ -1,6 +1,10 @@
1
1
  export interface TocketConfig {
2
2
  author?: string;
3
3
  defaultAgent?: string;
4
+ agents?: {
5
+ architect?: string;
6
+ executor?: string;
7
+ };
4
8
  defaults?: {
5
9
  priority?: "high" | "medium" | "low";
6
10
  skills?: string;
@@ -23,6 +23,7 @@ export async function updateConfig(partial, configPath) {
23
23
  const merged = {
24
24
  ...current,
25
25
  ...partial,
26
+ agents: { ...current.agents, ...partial.agents },
26
27
  defaults: { ...current.defaults, ...partial.defaults },
27
28
  theme: { ...current.theme, ...partial.theme },
28
29
  };
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAcvD,MAAM,UAAU,aAAa;IAC3B,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,gBAAgB,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,UAAmB;IAEnB,MAAM,IAAI,GAAG,UAAU,IAAI,aAAa,EAAE,CAAC;IAC3C,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC9C,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAiB,CAAC;IAC7C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,MAAoB,EACpB,UAAmB;IAEnB,MAAM,IAAI,GAAG,UAAU,IAAI,aAAa,EAAE,CAAC;IAC3C,MAAM,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC;AACzE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,OAA8B,EAC9B,UAAmB;IAEnB,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,UAAU,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAiB;QAC3B,GAAG,OAAO;QACV,GAAG,OAAO;QACV,QAAQ,EAAE,EAAE,GAAG,OAAO,CAAC,QAAQ,EAAE,GAAG,OAAO,CAAC,QAAQ,EAAE;QACtD,KAAK,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,EAAE,GAAG,OAAO,CAAC,KAAK,EAAE;KAC9C,CAAC;IACF,MAAM,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,UAAmB;IACnD,MAAM,UAAU,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;AACnC,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAkBvD,MAAM,UAAU,aAAa;IAC3B,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,gBAAgB,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,UAAmB;IAEnB,MAAM,IAAI,GAAG,UAAU,IAAI,aAAa,EAAE,CAAC;IAC3C,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC9C,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAiB,CAAC;IAC7C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,MAAoB,EACpB,UAAmB;IAEnB,MAAM,IAAI,GAAG,UAAU,IAAI,aAAa,EAAE,CAAC;IAC3C,MAAM,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC;AACzE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,OAA8B,EAC9B,UAAmB;IAEnB,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,UAAU,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAiB;QAC3B,GAAG,OAAO;QACV,GAAG,OAAO;QACV,MAAM,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE;QAChD,QAAQ,EAAE,EAAE,GAAG,OAAO,CAAC,QAAQ,EAAE,GAAG,OAAO,CAAC,QAAQ,EAAE;QACtD,KAAK,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,EAAE,GAAG,OAAO,CAAC,KAAK,EAAE;KAC9C,CAAC;IACF,MAAM,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,UAAmB;IACnD,MAAM,UAAU,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;AACnC,CAAC"}
@@ -11,3 +11,5 @@ export declare function getRecentCommits(n?: number, cwd?: string): string[];
11
11
  export declare function getRecentCommitsRaw(n?: number, cwd?: string): string;
12
12
  export declare function getLastCommitMessage(cwd?: string): string;
13
13
  export declare function getCurrentBranch(cwd?: string): string;
14
+ export declare function getDiffFiles(ref?: string, cwd?: string): string[];
15
+ export declare function getRecentlyModifiedFiles(sinceMinutes?: number, cwd?: string): string[];
package/dist/utils/git.js CHANGED
@@ -110,4 +110,31 @@ export function getCurrentBranch(cwd = process.cwd()) {
110
110
  return "";
111
111
  }
112
112
  }
113
+ export function getDiffFiles(ref, cwd = process.cwd()) {
114
+ if (!isGitRepo(cwd))
115
+ return [];
116
+ try {
117
+ const cmd = ref
118
+ ? `git diff --name-only ${ref}`
119
+ : "git diff --name-only HEAD";
120
+ const output = execSync(cmd, { cwd, encoding: "utf-8" }).trim();
121
+ return output ? output.split("\n") : [];
122
+ }
123
+ catch {
124
+ return [];
125
+ }
126
+ }
127
+ export function getRecentlyModifiedFiles(sinceMinutes = 120, cwd = process.cwd()) {
128
+ if (!isGitRepo(cwd))
129
+ return [];
130
+ try {
131
+ const output = execSync(`git log --diff-filter=ACMR --name-only --pretty=format: --since="${sinceMinutes} minutes ago"`, { cwd, encoding: "utf-8" }).trim();
132
+ if (!output)
133
+ return [];
134
+ return [...new Set(output.split("\n").filter((l) => l.length > 0))];
135
+ }
136
+ catch {
137
+ return [];
138
+ }
139
+ }
113
140
  //# sourceMappingURL=git.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"git.js","sourceRoot":"","sources":["../../src/utils/git.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"git.js","sourceRoot":"","sources":["../../src/utils/git.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,10 @@ export interface TemplateVars {
2
2
  projectName: string;
3
3
  description: string;
4
4
  date: string;
5
+ architectName: string;
6
+ executorName: string;
7
+ architectFile: string;
8
+ executorFile: string;
5
9
  }
6
10
  export declare function getGlobalTemplatesPath(baseDir?: string): string;
7
11
  export declare function interpolateTemplate(content: string, vars: TemplateVars): string;
@@ -8,7 +8,11 @@ export function interpolateTemplate(content, vars) {
8
8
  return content
9
9
  .replaceAll("{{projectName}}", vars.projectName)
10
10
  .replaceAll("{{description}}", vars.description)
11
- .replaceAll("{{date}}", vars.date);
11
+ .replaceAll("{{date}}", vars.date)
12
+ .replaceAll("{{architectName}}", vars.architectName)
13
+ .replaceAll("{{executorName}}", vars.executorName)
14
+ .replaceAll("{{architectFile}}", vars.architectFile)
15
+ .replaceAll("{{executorFile}}", vars.executorFile);
12
16
  }
13
17
  export async function readGlobalTemplate(filePath, vars, templatesDir) {
14
18
  const dir = templatesDir ?? getGlobalTemplatesPath();
@@ -1 +1 @@
1
- {"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/utils/templates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAQ5C,MAAM,UAAU,sBAAsB,CAAC,OAAgB;IACrD,OAAO,IAAI,CAAC,OAAO,IAAI,OAAO,EAAE,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,OAAe,EACf,IAAkB;IAElB,OAAO,OAAO;SACX,UAAU,CAAC,iBAAiB,EAAE,IAAI,CAAC,WAAW,CAAC;SAC/C,UAAU,CAAC,iBAAiB,EAAE,IAAI,CAAC,WAAW,CAAC;SAC/C,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,QAAgB,EAChB,IAAkB,EAClB,YAAqB;IAErB,MAAM,GAAG,GAAG,YAAY,IAAI,sBAAsB,EAAE,CAAC;IACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IACrC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC9C,OAAO,mBAAmB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACxC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/utils/templates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAY5C,MAAM,UAAU,sBAAsB,CAAC,OAAgB;IACrD,OAAO,IAAI,CAAC,OAAO,IAAI,OAAO,EAAE,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,OAAe,EACf,IAAkB;IAElB,OAAO,OAAO;SACX,UAAU,CAAC,iBAAiB,EAAE,IAAI,CAAC,WAAW,CAAC;SAC/C,UAAU,CAAC,iBAAiB,EAAE,IAAI,CAAC,WAAW,CAAC;SAC/C,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC;SACjC,UAAU,CAAC,mBAAmB,EAAE,IAAI,CAAC,aAAa,CAAC;SACnD,UAAU,CAAC,kBAAkB,EAAE,IAAI,CAAC,YAAY,CAAC;SACjD,UAAU,CAAC,mBAAmB,EAAE,IAAI,CAAC,aAAa,CAAC;SACnD,UAAU,CAAC,kBAAkB,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,QAAgB,EAChB,IAAkB,EAClB,YAAqB;IAErB,MAAM,GAAG,GAAG,YAAY,IAAI,sBAAsB,EAAE,CAAC;IACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IACrC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC9C,OAAO,mBAAmB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACxC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
@@ -0,0 +1,22 @@
1
+ /** Lightweight parser for Tocket payload XML (self-generated, deterministic structure). */
2
+ export interface ParsedTask {
3
+ id: string;
4
+ type: string;
5
+ target: string;
6
+ action: string;
7
+ spec: string;
8
+ done: string;
9
+ }
10
+ export interface ParsedPayload {
11
+ version: string;
12
+ meta: {
13
+ intent: string;
14
+ scope: string;
15
+ skills: string;
16
+ priority: string;
17
+ };
18
+ tasks: ParsedTask[];
19
+ checks: string[];
20
+ }
21
+ /** Parse a Tocket payload XML string into structured data. */
22
+ export declare function parsePayloadXml(xml: string): ParsedPayload;
@@ -0,0 +1,54 @@
1
+ /** Lightweight parser for Tocket payload XML (self-generated, deterministic structure). */
2
+ /** Strip XML comment placeholders like <!-- ... --> and trim. */
3
+ function clean(value) {
4
+ if (!value)
5
+ return "";
6
+ return value.replace(/<!--[\s\S]*?-->/g, "").trim();
7
+ }
8
+ /** Extract text content of a single XML tag from a block. */
9
+ function extractTag(block, tag) {
10
+ const re = new RegExp(`<${tag}>([\\s\\S]*?)</${tag}>`);
11
+ const match = block.match(re);
12
+ return clean(match?.[1]);
13
+ }
14
+ /** Parse a Tocket payload XML string into structured data. */
15
+ export function parsePayloadXml(xml) {
16
+ // Version
17
+ const versionMatch = xml.match(/<payload\s+version="([^"]+)">/);
18
+ const version = versionMatch?.[1] ?? "";
19
+ // Meta
20
+ const metaMatch = xml.match(/<meta>([\s\S]*?)<\/meta>/);
21
+ const metaBlock = metaMatch?.[1] ?? "";
22
+ const meta = {
23
+ intent: extractTag(metaBlock, "intent"),
24
+ scope: extractTag(metaBlock, "scope"),
25
+ skills: extractTag(metaBlock, "skills"),
26
+ priority: extractTag(metaBlock, "priority"),
27
+ };
28
+ // Tasks
29
+ const tasks = [];
30
+ const taskRegex = /<task\s+id="([^"]*)"(?:\s+type="([^"]*)")?(?:\s+skill="[^"]*")?>([\s\S]*?)<\/task>/g;
31
+ let taskMatch;
32
+ while ((taskMatch = taskRegex.exec(xml)) !== null) {
33
+ const [, id, type, body] = taskMatch;
34
+ tasks.push({
35
+ id: id ?? "",
36
+ type: clean(type),
37
+ target: extractTag(body, "target"),
38
+ action: extractTag(body, "action"),
39
+ spec: extractTag(body, "spec"),
40
+ done: extractTag(body, "done"),
41
+ });
42
+ }
43
+ // Validation checks
44
+ const checks = [];
45
+ const checkRegex = /<check>([\s\S]*?)<\/check>/g;
46
+ let checkMatch;
47
+ while ((checkMatch = checkRegex.exec(xml)) !== null) {
48
+ const value = clean(checkMatch[1]);
49
+ if (value)
50
+ checks.push(value);
51
+ }
52
+ return { version, meta, tasks, checks };
53
+ }
54
+ //# sourceMappingURL=xml.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xml.js","sourceRoot":"","sources":["../../src/utils/xml.ts"],"names":[],"mappings":"AAAA,2FAA2F;AAuB3F,iEAAiE;AACjE,SAAS,KAAK,CAAC,KAAyB;IACtC,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC;IACtB,OAAO,KAAK,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;AACtD,CAAC;AAED,6DAA6D;AAC7D,SAAS,UAAU,CAAC,KAAa,EAAE,GAAW;IAC5C,MAAM,EAAE,GAAG,IAAI,MAAM,CAAC,IAAI,GAAG,kBAAkB,GAAG,GAAG,CAAC,CAAC;IACvD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC9B,OAAO,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3B,CAAC;AAED,8DAA8D;AAC9D,MAAM,UAAU,eAAe,CAAC,GAAW;IACzC,UAAU;IACV,MAAM,YAAY,GAAG,GAAG,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;IAChE,MAAM,OAAO,GAAG,YAAY,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAExC,OAAO;IACP,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;IACxD,MAAM,SAAS,GAAG,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAEvC,MAAM,IAAI,GAAG;QACX,MAAM,EAAE,UAAU,CAAC,SAAS,EAAE,QAAQ,CAAC;QACvC,KAAK,EAAE,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC;QACrC,MAAM,EAAE,UAAU,CAAC,SAAS,EAAE,QAAQ,CAAC;QACvC,QAAQ,EAAE,UAAU,CAAC,SAAS,EAAE,UAAU,CAAC;KAC5C,CAAC;IAEF,QAAQ;IACR,MAAM,KAAK,GAAiB,EAAE,CAAC;IAC/B,MAAM,SAAS,GAAG,qFAAqF,CAAC;IACxG,IAAI,SAAiC,CAAC;IACtC,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAClD,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,SAAS,CAAC;QACrC,KAAK,CAAC,IAAI,CAAC;YACT,EAAE,EAAE,EAAE,IAAI,EAAE;YACZ,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC;YACjB,MAAM,EAAE,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC;YAClC,MAAM,EAAE,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC;YAClC,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC;YAC9B,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC;SAC/B,CAAC,CAAC;IACL,CAAC;IAED,oBAAoB;IACpB,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,UAAU,GAAG,6BAA6B,CAAC;IACjD,IAAI,UAAkC,CAAC;IACvC,OAAO,CAAC,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACpD,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;QACnC,IAAI,KAAK;YAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;AAC1C,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pedrocivita/tocket",
3
- "version": "2.3.0",
3
+ "version": "2.5.0",
4
4
  "description": "The Context Engineering Framework for Multi-Agent Workspaces",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",