opencode-gitlab-dap 1.10.1 → 1.12.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.
package/dist/index.cjs CHANGED
@@ -3597,17 +3597,40 @@ async function searchWikiPages(instanceUrl, token, scope, id, query) {
3597
3597
  var z5 = import_plugin5.tool.schema;
3598
3598
  var PREFIX = "agents";
3599
3599
  var ARCHIVE_DIR = `${PREFIX}/memory/archive`;
3600
+ var MEMORY_TYPES = [
3601
+ "facts",
3602
+ "decisions",
3603
+ "patterns",
3604
+ "architecture",
3605
+ "conventions",
3606
+ "troubleshooting",
3607
+ "people-and-contexts",
3608
+ "plans"
3609
+ ];
3600
3610
  var MEMORY_DIRS = {
3601
- all: [`${PREFIX}/memory/facts`, `${PREFIX}/memory/decisions`, `${PREFIX}/memory/patterns`],
3602
- facts: [`${PREFIX}/memory/facts`],
3603
- decisions: [`${PREFIX}/memory/decisions`],
3604
- patterns: [`${PREFIX}/memory/patterns`],
3611
+ all: MEMORY_TYPES.map((t) => `${PREFIX}/memory/${t}`),
3612
+ ...Object.fromEntries(MEMORY_TYPES.map((t) => [t, [`${PREFIX}/memory/${t}`]])),
3605
3613
  archive: [ARCHIVE_DIR]
3606
3614
  };
3615
+ var RECORD_TYPES = [
3616
+ "fact",
3617
+ "decision",
3618
+ "pattern",
3619
+ "architecture",
3620
+ "convention",
3621
+ "troubleshooting",
3622
+ "people",
3623
+ "plan"
3624
+ ];
3607
3625
  var RECORD_DIR = {
3608
3626
  fact: `${PREFIX}/memory/facts`,
3609
3627
  decision: `${PREFIX}/memory/decisions`,
3610
- pattern: `${PREFIX}/memory/patterns`
3628
+ pattern: `${PREFIX}/memory/patterns`,
3629
+ architecture: `${PREFIX}/memory/architecture`,
3630
+ convention: `${PREFIX}/memory/conventions`,
3631
+ troubleshooting: `${PREFIX}/memory/troubleshooting`,
3632
+ people: `${PREFIX}/memory/people-and-contexts`,
3633
+ plan: `${PREFIX}/memory/plans`
3611
3634
  };
3612
3635
  var PROJECT_ID_DESC = 'FULL project path with namespace (e.g., "gitlab-org/gitlab"). Must contain a slash. Never use just the project name.';
3613
3636
  function today() {
@@ -3642,11 +3665,11 @@ function makeMemoryTools(ctx) {
3642
3665
  }
3643
3666
  return {
3644
3667
  gitlab_memory_load: (0, import_plugin5.tool)({
3645
- description: "Load project memory to understand context, known facts, past decisions, and observed patterns.\nUse this at the start of complex tasks to check what is already known about the project.\nReturns accumulated knowledge from previous sessions.\nEach entry includes its slug (page path) which can be used with gitlab_memory_update or gitlab_memory_archive.\n\nBOOTSTRAP WORKFLOW \u2014 when user says 'bootstrap project memory':\n1. Get project path from run_git_command('remote', ['-v']) \u2014 NEVER guess.\n2. Call this tool to check if memory exists.\n3. If empty: gather knowledge (README, gitlab_get_project, gitlab_list_issues, gitlab_list_merge_requests, gitlab_list_pipelines, gitlab_list_project_members), then fire parallel gitlab_memory_record calls.\n4. If exists: show summary, gather current state, compare with stored facts, use gitlab_memory_update for stale, gitlab_memory_archive for outdated, gitlab_memory_record for new.\n5. Log session with gitlab_memory_log_session.",
3668
+ description: "Load project memory to understand context, known facts, past decisions, and observed patterns.\nUse this at the start of complex tasks to check what is already known about the project.\nReturns accumulated knowledge from previous sessions.\nEach entry includes its slug (page path) which can be used with gitlab_memory_update or gitlab_memory_archive.\n\nBOOTSTRAP WORKFLOW \u2014 when user says 'bootstrap project memory':\n1. Get project path from run_git_command('remote', ['-v']) \u2014 NEVER guess.\n2. Call this tool to check if memory exists.\n3. If empty: gather knowledge (README, gitlab_get_project, gitlab_list_issues, gitlab_list_merge_requests, gitlab_list_pipelines, gitlab_list_project_members), then record using ALL THREE types:\n - type='fact': project overview, tech stack, dependencies, CI/CD config, open issues summary, open MRs summary\n - type='architecture': system design, module structure, key abstractions, data flow\n - type='decision': key architectural choices found in the codebase (framework choices, config patterns, deployment strategy)\n - type='convention': coding standards, naming patterns, commit conventions, review process\n - type='pattern': recurring observations (CI patterns, common failures, release cycle)\n - type='troubleshooting': known issues, workarounds, pipeline failures, common errors\n - type='people': team members, roles, ownership areas, key contacts\n Fire parallel gitlab_memory_record calls \u2014 each creates its own page.\n4. If exists: show summary, gather current state, compare with stored records, use gitlab_memory_update for stale, gitlab_memory_archive for outdated, gitlab_memory_record for new.\n5. Log session with gitlab_memory_log_session.",
3646
3669
  args: {
3647
3670
  project_id: z5.string().describe(PROJECT_ID_DESC),
3648
- type: z5.enum(["all", "facts", "decisions", "patterns", "archive"]).optional().describe(
3649
- 'Which memory to load: "all" (default), "facts", "decisions", "patterns", or "archive" (retired entries)'
3671
+ type: z5.enum(["all", ...MEMORY_TYPES, "archive"]).optional().describe(
3672
+ 'Which memory to load: "all" (default), "facts", "decisions", "patterns", "architecture", "conventions", "troubleshooting", "people-and-contexts", or "archive"'
3650
3673
  ),
3651
3674
  scope: z5.enum(["projects", "groups"]).optional().describe("Scope (default: projects)"),
3652
3675
  group_id: z5.string().optional().describe("Group path (required when scope is groups)")
@@ -3687,10 +3710,10 @@ ${entries}`
3687
3710
  }
3688
3711
  }),
3689
3712
  gitlab_memory_record: (0, import_plugin5.tool)({
3690
- description: "Record a fact, decision, or pattern in project memory.\nFacts: stable truths about the project (e.g., deploy targets, tech stack, team conventions).\nDecisions: architectural choices with reasoning (why X was chosen over Y).\nPatterns: recurring observations that may evolve into skills over time.\nEach record creates its own page \u2014 safe for parallel writes.",
3713
+ description: "Record knowledge in project memory. Each record creates its own page \u2014 safe for parallel writes.\nTypes:\n fact \u2014 stable truths (tech stack, dependencies, deploy targets, project metadata)\n decision \u2014 architectural choices with reasoning (why X over Y)\n pattern \u2014 recurring observations that may evolve into skills\n architecture \u2014 system design, module structure, data flow, key abstractions\n convention \u2014 coding standards, naming patterns, review process, commit conventions\n troubleshooting \u2014 known issues, workarounds, debugging tips, common errors\n people \u2014 team members, roles, ownership areas, contact context\n plan \u2014 implementation plans, feature designs, task breakdowns, roadmap items",
3691
3714
  args: {
3692
3715
  project_id: z5.string().describe(PROJECT_ID_DESC),
3693
- type: z5.enum(["fact", "decision", "pattern"]).describe("Type of knowledge to record"),
3716
+ type: z5.enum([...RECORD_TYPES]).describe("Type of knowledge to record"),
3694
3717
  content: z5.string().describe("The knowledge to record (markdown)"),
3695
3718
  scope: z5.enum(["projects", "groups"]).optional().describe("Scope (default: projects)"),
3696
3719
  group_id: z5.string().optional().describe("Group path (required when scope is groups)")
@@ -3804,9 +3827,7 @@ ${entries}`
3804
3827
  description: "Review all memory records and get consolidation instructions.\nLoads all records of the specified type and returns them with their slugs,\nalong with instructions to identify and fix stale, duplicate, or contradictory entries.\nUse this periodically to keep project memory clean and accurate.",
3805
3828
  args: {
3806
3829
  project_id: z5.string().describe(PROJECT_ID_DESC),
3807
- type: z5.enum(["all", "facts", "decisions", "patterns"]).optional().describe(
3808
- 'Which memory to consolidate: "all" (default), "facts", "decisions", or "patterns"'
3809
- ),
3830
+ type: z5.enum(["all", ...MEMORY_TYPES]).optional().describe('Which memory to consolidate: "all" (default) or a specific type'),
3810
3831
  scope: z5.enum(["projects", "groups"]).optional().describe("Scope (default: projects)"),
3811
3832
  group_id: z5.string().optional().describe("Group path (required when scope is groups)")
3812
3833
  },