opencode-goopspec 0.1.5 → 0.1.6

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 (90) hide show
  1. package/README.md +7 -7
  2. package/agents/goop-debugger.md +2 -2
  3. package/agents/goop-designer.md +2 -2
  4. package/agents/goop-executor.md +17 -7
  5. package/agents/goop-explorer.md +2 -2
  6. package/agents/goop-librarian.md +1 -1
  7. package/agents/goop-orchestrator.md +47 -5
  8. package/agents/goop-planner.md +3 -3
  9. package/agents/goop-researcher.md +2 -2
  10. package/agents/goop-tester.md +1 -1
  11. package/agents/goop-verifier.md +2 -2
  12. package/agents/goop-writer.md +1 -1
  13. package/agents/memory-distiller.md +2 -2
  14. package/commands/goop-accept.md +27 -401
  15. package/commands/goop-discuss.md +29 -393
  16. package/commands/goop-execute.md +22 -356
  17. package/commands/goop-map-codebase.md +44 -478
  18. package/commands/goop-plan.md +23 -499
  19. package/commands/goop-quick.md +58 -31
  20. package/commands/goop-setup.md +7 -4
  21. package/commands/goop-specify.md +26 -291
  22. package/commands/goop-status.md +26 -261
  23. package/dist/index.js +808 -182
  24. package/dist/worker/index.js +1 -1
  25. package/package.json +2 -1
  26. package/references/accept-process.md +402 -0
  27. package/references/context-injection.md +1 -1
  28. package/references/discovery-interview.md +1 -1
  29. package/references/discuss-process.md +383 -0
  30. package/references/dispatch-patterns.md +46 -21
  31. package/references/enforcement-system.md +1 -1
  32. package/references/execute-process.md +358 -0
  33. package/references/git-workflow.md +349 -0
  34. package/references/handoff-protocol.md +1 -1
  35. package/references/map-codebase-process.md +353 -0
  36. package/references/model-profiles.md +16 -16
  37. package/references/orchestrator-philosophy.md +1 -1
  38. package/references/phase-gates.md +1 -1
  39. package/references/plan-process.md +397 -0
  40. package/references/plugin-architecture.md +1 -1
  41. package/references/quick-process.md +343 -0
  42. package/references/response-format.md +2 -2
  43. package/references/specify-process.md +251 -0
  44. package/references/status-process.md +253 -0
  45. package/references/subagent-protocol.md +2 -2
  46. package/references/team-coordination.md +183 -0
  47. package/references/xml-response-schema.md +5 -5
  48. package/skills/accessibility/skill.md +1 -1
  49. package/skills/accessibility-testing/skill.md +1 -1
  50. package/skills/api-docs/skill.md +1 -1
  51. package/skills/architecture-design/skill.md +1 -1
  52. package/skills/atomic-commits/skill.md +92 -15
  53. package/skills/code-review/skill.md +1 -1
  54. package/skills/codebase-mapping/skill.md +1 -1
  55. package/skills/convention-detection/skill.md +1 -1
  56. package/skills/debugging/skill.md +1 -1
  57. package/skills/deviation-handling/skill.md +1 -1
  58. package/skills/documentation/skill.md +1 -1
  59. package/skills/goop-core/skill.md +48 -11
  60. package/skills/memory-usage/skill.md +1 -1
  61. package/skills/parallel-planning/skill.md +1 -1
  62. package/skills/pattern-extraction/skill.md +1 -1
  63. package/skills/performance-optimization/skill.md +1 -1
  64. package/skills/playwright/skill.md +1 -1
  65. package/skills/playwright-testing/skill.md +1 -1
  66. package/skills/progress-tracking/skill.md +1 -1
  67. package/skills/readme-generation/skill.md +1 -1
  68. package/skills/research/skill.md +1 -1
  69. package/skills/responsive-design/skill.md +1 -1
  70. package/skills/scientific-method/skill.md +1 -1
  71. package/skills/security-audit/skill.md +1 -1
  72. package/skills/task-decomposition/skill.md +1 -1
  73. package/skills/task-delegation/skill.md +60 -34
  74. package/skills/technical-writing/skill.md +1 -1
  75. package/skills/testing/skill.md +1 -1
  76. package/skills/ui-design/skill.md +1 -1
  77. package/skills/ux-patterns/skill.md +1 -1
  78. package/skills/verification/skill.md +1 -1
  79. package/skills/visual-regression/skill.md +1 -1
  80. package/templates/blueprint.md +1 -1
  81. package/templates/chronicle.md +1 -1
  82. package/templates/handoff.md +1 -1
  83. package/templates/milestone.md +1 -1
  84. package/templates/project.md +1 -1
  85. package/templates/requirements.md +1 -1
  86. package/templates/research.md +1 -1
  87. package/templates/retrospective.md +1 -1
  88. package/templates/spec.md +1 -1
  89. package/templates/state.md +1 -1
  90. package/templates/summary.md +1 -1
package/dist/index.js CHANGED
@@ -34,7 +34,7 @@ __export(exports_sqlite_vec, {
34
34
  load: () => load,
35
35
  getLoadablePath: () => getLoadablePath
36
36
  });
37
- import { join as join8 } from "path";
37
+ import { join as join10 } from "path";
38
38
  import { fileURLToPath as fileURLToPath2 } from "url";
39
39
  import { arch, platform } from "process";
40
40
  import { statSync as statSync2 } from "fs";
@@ -57,7 +57,7 @@ function getLoadablePath() {
57
57
  throw new Error(invalidPlatformErrorMessage);
58
58
  }
59
59
  const packageName = platformPackageName(platform, arch);
60
- const loadablePath = join8(fileURLToPath2(new URL(join8("."), import.meta.url)), "..", packageName, `${ENTRYPOINT_BASE_NAME}.${extensionSuffix(platform)}`);
60
+ const loadablePath = join10(fileURLToPath2(new URL(join10("."), import.meta.url)), "..", packageName, `${ENTRYPOINT_BASE_NAME}.${extensionSuffix(platform)}`);
61
61
  if (!statSync2(loadablePath, { throwIfNoEntry: false })) {
62
62
  throw new Error(extensionNotFoundErrorMessage(packageName));
63
63
  }
@@ -2660,7 +2660,7 @@ var require_filesystem = __commonJS((exports, module) => {
2660
2660
  var LDD_PATH = "/usr/bin/ldd";
2661
2661
  var SELF_PATH = "/proc/self/exe";
2662
2662
  var MAX_LENGTH = 2048;
2663
- var readFileSync7 = (path2) => {
2663
+ var readFileSync8 = (path2) => {
2664
2664
  const fd = fs2.openSync(path2, "r");
2665
2665
  const buffer = Buffer.alloc(MAX_LENGTH);
2666
2666
  const bytesRead = fs2.readSync(fd, buffer, 0, MAX_LENGTH, 0);
@@ -2683,7 +2683,7 @@ var require_filesystem = __commonJS((exports, module) => {
2683
2683
  module.exports = {
2684
2684
  LDD_PATH,
2685
2685
  SELF_PATH,
2686
- readFileSync: readFileSync7,
2686
+ readFileSync: readFileSync8,
2687
2687
  readFile
2688
2688
  };
2689
2689
  });
@@ -2726,7 +2726,7 @@ var require_elf = __commonJS((exports, module) => {
2726
2726
  var require_detect_libc = __commonJS((exports, module) => {
2727
2727
  var childProcess = __require("child_process");
2728
2728
  var { isLinux, getReport } = require_process();
2729
- var { LDD_PATH, SELF_PATH, readFile, readFileSync: readFileSync7 } = require_filesystem();
2729
+ var { LDD_PATH, SELF_PATH, readFile, readFileSync: readFileSync8 } = require_filesystem();
2730
2730
  var { interpreterPath } = require_elf();
2731
2731
  var cachedFamilyInterpreter;
2732
2732
  var cachedFamilyFilesystem;
@@ -2817,7 +2817,7 @@ var require_detect_libc = __commonJS((exports, module) => {
2817
2817
  }
2818
2818
  cachedFamilyFilesystem = null;
2819
2819
  try {
2820
- const lddContent = readFileSync7(LDD_PATH);
2820
+ const lddContent = readFileSync8(LDD_PATH);
2821
2821
  cachedFamilyFilesystem = getFamilyFromLddContent(lddContent);
2822
2822
  } catch (e) {}
2823
2823
  return cachedFamilyFilesystem;
@@ -2840,7 +2840,7 @@ var require_detect_libc = __commonJS((exports, module) => {
2840
2840
  }
2841
2841
  cachedFamilyInterpreter = null;
2842
2842
  try {
2843
- const selfContent = readFileSync7(SELF_PATH);
2843
+ const selfContent = readFileSync8(SELF_PATH);
2844
2844
  const path2 = interpreterPath(selfContent);
2845
2845
  cachedFamilyInterpreter = familyFromInterpreterPath(path2);
2846
2846
  } catch (e) {}
@@ -2902,7 +2902,7 @@ var require_detect_libc = __commonJS((exports, module) => {
2902
2902
  }
2903
2903
  cachedVersionFilesystem = null;
2904
2904
  try {
2905
- const lddContent = readFileSync7(LDD_PATH);
2905
+ const lddContent = readFileSync8(LDD_PATH);
2906
2906
  const versionMatch = lddContent.match(RE_GLIBC_VERSION);
2907
2907
  if (versionMatch) {
2908
2908
  cachedVersionFilesystem = versionMatch[1];
@@ -3397,7 +3397,7 @@ var require_semver = __commonJS((exports, module) => {
3397
3397
  // node_modules/semver/functions/parse.js
3398
3398
  var require_parse = __commonJS((exports, module) => {
3399
3399
  var SemVer = require_semver();
3400
- var parse9 = (version4, options, throwErrors = false) => {
3400
+ var parse10 = (version4, options, throwErrors = false) => {
3401
3401
  if (version4 instanceof SemVer) {
3402
3402
  return version4;
3403
3403
  }
@@ -3410,13 +3410,13 @@ var require_parse = __commonJS((exports, module) => {
3410
3410
  throw er;
3411
3411
  }
3412
3412
  };
3413
- module.exports = parse9;
3413
+ module.exports = parse10;
3414
3414
  });
3415
3415
 
3416
3416
  // node_modules/semver/functions/coerce.js
3417
3417
  var require_coerce = __commonJS((exports, module) => {
3418
3418
  var SemVer = require_semver();
3419
- var parse9 = require_parse();
3419
+ var parse10 = require_parse();
3420
3420
  var { safeRe: re, t } = require_re();
3421
3421
  var coerce = (version4, options) => {
3422
3422
  if (version4 instanceof SemVer) {
@@ -3451,7 +3451,7 @@ var require_coerce = __commonJS((exports, module) => {
3451
3451
  const patch = match[4] || "0";
3452
3452
  const prerelease = options.includePrerelease && match[5] ? `-${match[5]}` : "";
3453
3453
  const build = options.includePrerelease && match[6] ? `+${match[6]}` : "";
3454
- return parse9(`${major}.${minor}.${patch}${prerelease}${build}`, options);
3454
+ return parse10(`${major}.${minor}.${patch}${prerelease}${build}`, options);
3455
3455
  };
3456
3456
  module.exports = coerce;
3457
3457
  });
@@ -8123,10 +8123,10 @@ var require_output = __commonJS((exports, module) => {
8123
8123
  }
8124
8124
  return this;
8125
8125
  }
8126
- function toFormat(format, options) {
8127
- const actualFormat = formats.get((is.object(format) && is.string(format.id) ? format.id : format).toLowerCase());
8126
+ function toFormat(format2, options) {
8127
+ const actualFormat = formats.get((is.object(format2) && is.string(format2.id) ? format2.id : format2).toLowerCase());
8128
8128
  if (!actualFormat) {
8129
- throw is.invalidParameterError("format", `one of: ${[...formats.keys()].join(", ")}`, format);
8129
+ throw is.invalidParameterError("format", `one of: ${[...formats.keys()].join(", ")}`, format2);
8130
8130
  }
8131
8131
  return this[actualFormat](options);
8132
8132
  }
@@ -8848,11 +8848,11 @@ var require_utility = __commonJS((exports, module) => {
8848
8848
  var sharp = require_sharp();
8849
8849
  var runtimePlatform = runtimePlatformArch();
8850
8850
  var libvipsVersion = sharp.libvipsVersion();
8851
- var format = sharp.format();
8852
- format.heif.output.alias = ["avif", "heic"];
8853
- format.jpeg.output.alias = ["jpe", "jpg"];
8854
- format.tiff.output.alias = ["tif"];
8855
- format.jp2k.output.alias = ["j2c", "j2k", "jp2", "jpx"];
8851
+ var format2 = sharp.format();
8852
+ format2.heif.output.alias = ["avif", "heic"];
8853
+ format2.jpeg.output.alias = ["jpe", "jpg"];
8854
+ format2.tiff.output.alias = ["tif"];
8855
+ format2.jp2k.output.alias = ["j2c", "j2k", "jp2", "jpx"];
8856
8856
  var interpolators = {
8857
8857
  nearest: "nearest",
8858
8858
  bilinear: "bilinear",
@@ -8880,9 +8880,9 @@ var require_utility = __commonJS((exports, module) => {
8880
8880
  }
8881
8881
  }
8882
8882
  versions3.sharp = require_package().version;
8883
- if (versions3.heif && format.heif) {
8884
- format.heif.input.fileSuffix = [".avif"];
8885
- format.heif.output.alias = ["avif"];
8883
+ if (versions3.heif && format2.heif) {
8884
+ format2.heif.input.fileSuffix = [".avif"];
8885
+ format2.heif.output.alias = ["avif"];
8886
8886
  }
8887
8887
  function cache(options) {
8888
8888
  if (is.bool(options)) {
@@ -8940,7 +8940,7 @@ var require_utility = __commonJS((exports, module) => {
8940
8940
  Sharp.concurrency = concurrency;
8941
8941
  Sharp.counters = counters;
8942
8942
  Sharp.simd = simd;
8943
- Sharp.format = format;
8943
+ Sharp.format = format2;
8944
8944
  Sharp.interpolators = interpolators;
8945
8945
  Sharp.versions = versions3;
8946
8946
  Sharp.queue = queue;
@@ -9841,7 +9841,7 @@ function __webpack_require__(moduleId) {
9841
9841
  __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
9842
9842
  return module.exports;
9843
9843
  }
9844
- var __WEBPACK_EXTERNAL_MODULE_onnxruntime_node_6a60201e__, __WEBPACK_EXTERNAL_MODULE_sharp__, __dirname = "/home/james/Documents/opencode-goopspec/node_modules/@huggingface/transformers/dist", __webpack_modules__, __webpack_module_cache__, __webpack_exports__, __webpack_exports__ASTFeatureExtractor, __webpack_exports__ASTForAudioClassification, __webpack_exports__ASTModel, __webpack_exports__ASTPreTrainedModel, __webpack_exports__AlbertForMaskedLM, __webpack_exports__AlbertForQuestionAnswering, __webpack_exports__AlbertForSequenceClassification, __webpack_exports__AlbertModel, __webpack_exports__AlbertPreTrainedModel, __webpack_exports__AlbertTokenizer, __webpack_exports__ArceeForCausalLM, __webpack_exports__ArceeModel, __webpack_exports__ArceePreTrainedModel, __webpack_exports__AudioClassificationPipeline, __webpack_exports__AutoConfig, __webpack_exports__AutoFeatureExtractor, __webpack_exports__AutoImageProcessor, __webpack_exports__AutoModel, __webpack_exports__AutoModelForAudioClassification, __webpack_exports__AutoModelForAudioFrameClassification, __webpack_exports__AutoModelForAudioTextToText, __webpack_exports__AutoModelForCTC, __webpack_exports__AutoModelForCausalLM, __webpack_exports__AutoModelForDepthEstimation, __webpack_exports__AutoModelForDocumentQuestionAnswering, __webpack_exports__AutoModelForImageClassification, __webpack_exports__AutoModelForImageFeatureExtraction, __webpack_exports__AutoModelForImageMatting, __webpack_exports__AutoModelForImageSegmentation, __webpack_exports__AutoModelForImageTextToText, __webpack_exports__AutoModelForImageToImage, __webpack_exports__AutoModelForMaskGeneration, __webpack_exports__AutoModelForMaskedLM, __webpack_exports__AutoModelForNormalEstimation, __webpack_exports__AutoModelForObjectDetection, __webpack_exports__AutoModelForPoseEstimation, __webpack_exports__AutoModelForQuestionAnswering, __webpack_exports__AutoModelForSemanticSegmentation, __webpack_exports__AutoModelForSeq2SeqLM, __webpack_exports__AutoModelForSequenceClassification, __webpack_exports__AutoModelForSpeechSeq2Seq, __webpack_exports__AutoModelForTextToSpectrogram, __webpack_exports__AutoModelForTextToWaveform, __webpack_exports__AutoModelForTokenClassification, __webpack_exports__AutoModelForUniversalSegmentation, __webpack_exports__AutoModelForVision2Seq, __webpack_exports__AutoModelForXVector, __webpack_exports__AutoModelForZeroShotObjectDetection, __webpack_exports__AutoProcessor, __webpack_exports__AutoTokenizer, __webpack_exports__AutomaticSpeechRecognitionPipeline, __webpack_exports__BackgroundRemovalPipeline, __webpack_exports__BartForConditionalGeneration, __webpack_exports__BartForSequenceClassification, __webpack_exports__BartModel, __webpack_exports__BartPretrainedModel, __webpack_exports__BartTokenizer, __webpack_exports__BaseModelOutput, __webpack_exports__BaseStreamer, __webpack_exports__BeitFeatureExtractor, __webpack_exports__BeitForImageClassification, __webpack_exports__BeitModel, __webpack_exports__BeitPreTrainedModel, __webpack_exports__BertForMaskedLM, __webpack_exports__BertForQuestionAnswering, __webpack_exports__BertForSequenceClassification, __webpack_exports__BertForTokenClassification, __webpack_exports__BertModel, __webpack_exports__BertPreTrainedModel, __webpack_exports__BertTokenizer, __webpack_exports__BitImageProcessor, __webpack_exports__BlenderbotForConditionalGeneration, __webpack_exports__BlenderbotModel, __webpack_exports__BlenderbotPreTrainedModel, __webpack_exports__BlenderbotSmallForConditionalGeneration, __webpack_exports__BlenderbotSmallModel, __webpack_exports__BlenderbotSmallPreTrainedModel, __webpack_exports__BlenderbotSmallTokenizer, __webpack_exports__BlenderbotTokenizer, __webpack_exports__BloomForCausalLM, __webpack_exports__BloomModel, __webpack_exports__BloomPreTrainedModel, __webpack_exports__BloomTokenizer, __webpack_exports__CLIPFeatureExtractor, __webpack_exports__CLIPImageProcessor, __webpack_exports__CLIPModel, __webpack_exports__CLIPPreTrainedModel, __webpack_exports__CLIPSegForImageSegmentation, __webpack_exports__CLIPSegModel, __webpack_exports__CLIPSegPreTrainedModel, __webpack_exports__CLIPTextModel, __webpack_exports__CLIPTextModelWithProjection, __webpack_exports__CLIPTokenizer, __webpack_exports__CLIPVisionModel, __webpack_exports__CLIPVisionModelWithProjection, __webpack_exports__CamembertForMaskedLM, __webpack_exports__CamembertForQuestionAnswering, __webpack_exports__CamembertForSequenceClassification, __webpack_exports__CamembertForTokenClassification, __webpack_exports__CamembertModel, __webpack_exports__CamembertPreTrainedModel, __webpack_exports__CamembertTokenizer, __webpack_exports__CausalLMOutput, __webpack_exports__CausalLMOutputWithPast, __webpack_exports__ChineseCLIPFeatureExtractor, __webpack_exports__ChineseCLIPModel, __webpack_exports__ChineseCLIPPreTrainedModel, __webpack_exports__ClapAudioModelWithProjection, __webpack_exports__ClapFeatureExtractor, __webpack_exports__ClapModel, __webpack_exports__ClapPreTrainedModel, __webpack_exports__ClapTextModelWithProjection, __webpack_exports__ClassifierFreeGuidanceLogitsProcessor, __webpack_exports__CodeGenForCausalLM, __webpack_exports__CodeGenModel, __webpack_exports__CodeGenPreTrainedModel, __webpack_exports__CodeGenTokenizer, __webpack_exports__CodeLlamaTokenizer, __webpack_exports__CohereForCausalLM, __webpack_exports__CohereModel, __webpack_exports__CoherePreTrainedModel, __webpack_exports__CohereTokenizer, __webpack_exports__ConvBertForMaskedLM, __webpack_exports__ConvBertForQuestionAnswering, __webpack_exports__ConvBertForSequenceClassification, __webpack_exports__ConvBertForTokenClassification, __webpack_exports__ConvBertModel, __webpack_exports__ConvBertPreTrainedModel, __webpack_exports__ConvBertTokenizer, __webpack_exports__ConvNextFeatureExtractor, __webpack_exports__ConvNextForImageClassification, __webpack_exports__ConvNextImageProcessor, __webpack_exports__ConvNextModel, __webpack_exports__ConvNextPreTrainedModel, __webpack_exports__ConvNextV2ForImageClassification, __webpack_exports__ConvNextV2Model, __webpack_exports__ConvNextV2PreTrainedModel, __webpack_exports__DFineForObjectDetection, __webpack_exports__DFineModel, __webpack_exports__DFinePreTrainedModel, __webpack_exports__DINOv3ConvNextModel, __webpack_exports__DINOv3ConvNextPreTrainedModel, __webpack_exports__DINOv3ViTImageProcessor, __webpack_exports__DINOv3ViTModel, __webpack_exports__DINOv3ViTPreTrainedModel, __webpack_exports__DPTFeatureExtractor, __webpack_exports__DPTForDepthEstimation, __webpack_exports__DPTImageProcessor, __webpack_exports__DPTModel, __webpack_exports__DPTPreTrainedModel, __webpack_exports__DacDecoderModel, __webpack_exports__DacDecoderOutput, __webpack_exports__DacEncoderModel, __webpack_exports__DacEncoderOutput, __webpack_exports__DacFeatureExtractor, __webpack_exports__DacModel, __webpack_exports__DacPreTrainedModel, __webpack_exports__DataTypeMap, __webpack_exports__DebertaForMaskedLM, __webpack_exports__DebertaForQuestionAnswering, __webpack_exports__DebertaForSequenceClassification, __webpack_exports__DebertaForTokenClassification, __webpack_exports__DebertaModel, __webpack_exports__DebertaPreTrainedModel, __webpack_exports__DebertaTokenizer, __webpack_exports__DebertaV2ForMaskedLM, __webpack_exports__DebertaV2ForQuestionAnswering, __webpack_exports__DebertaV2ForSequenceClassification, __webpack_exports__DebertaV2ForTokenClassification, __webpack_exports__DebertaV2Model, __webpack_exports__DebertaV2PreTrainedModel, __webpack_exports__DebertaV2Tokenizer, __webpack_exports__DecisionTransformerModel, __webpack_exports__DecisionTransformerPreTrainedModel, __webpack_exports__DeiTFeatureExtractor, __webpack_exports__DeiTForImageClassification, __webpack_exports__DeiTImageProcessor, __webpack_exports__DeiTModel, __webpack_exports__DeiTPreTrainedModel, __webpack_exports__DepthAnythingForDepthEstimation, __webpack_exports__DepthAnythingPreTrainedModel, __webpack_exports__DepthEstimationPipeline, __webpack_exports__DepthProForDepthEstimation, __webpack_exports__DepthProPreTrainedModel, __webpack_exports__DetrFeatureExtractor, __webpack_exports__DetrForObjectDetection, __webpack_exports__DetrForSegmentation, __webpack_exports__DetrImageProcessor, __webpack_exports__DetrModel, __webpack_exports__DetrObjectDetectionOutput, __webpack_exports__DetrPreTrainedModel, __webpack_exports__DetrSegmentationOutput, __webpack_exports__Dinov2ForImageClassification, __webpack_exports__Dinov2Model, __webpack_exports__Dinov2PreTrainedModel, __webpack_exports__Dinov2WithRegistersForImageClassification, __webpack_exports__Dinov2WithRegistersModel, __webpack_exports__Dinov2WithRegistersPreTrainedModel, __webpack_exports__DistilBertForMaskedLM, __webpack_exports__DistilBertForQuestionAnswering, __webpack_exports__DistilBertForSequenceClassification, __webpack_exports__DistilBertForTokenClassification, __webpack_exports__DistilBertModel, __webpack_exports__DistilBertPreTrainedModel, __webpack_exports__DistilBertTokenizer, __webpack_exports__DocumentQuestionAnsweringPipeline, __webpack_exports__DonutFeatureExtractor, __webpack_exports__DonutImageProcessor, __webpack_exports__DonutSwinModel, __webpack_exports__DonutSwinPreTrainedModel, __webpack_exports__EdgeTamModel, __webpack_exports__EfficientNetForImageClassification, __webpack_exports__EfficientNetImageProcessor, __webpack_exports__EfficientNetModel, __webpack_exports__EfficientNetPreTrainedModel, __webpack_exports__ElectraForMaskedLM, __webpack_exports__ElectraForQuestionAnswering, __webpack_exports__ElectraForSequenceClassification, __webpack_exports__ElectraForTokenClassification, __webpack_exports__ElectraModel, __webpack_exports__ElectraPreTrainedModel, __webpack_exports__ElectraTokenizer, __webpack_exports__EncodecFeatureExtractor, __webpack_exports__EosTokenCriteria, __webpack_exports__Ernie4_5ForCausalLM, __webpack_exports__Ernie4_5Model, __webpack_exports__Ernie4_5PreTrainedModel, __webpack_exports__EsmForMaskedLM, __webpack_exports__EsmForSequenceClassification, __webpack_exports__EsmForTokenClassification, __webpack_exports__EsmModel, __webpack_exports__EsmPreTrainedModel, __webpack_exports__EsmTokenizer, __webpack_exports__ExaoneForCausalLM, __webpack_exports__ExaoneModel, __webpack_exports__ExaonePreTrainedModel, __webpack_exports__FFT, __webpack_exports__FalconForCausalLM, __webpack_exports__FalconModel, __webpack_exports__FalconPreTrainedModel, __webpack_exports__FalconTokenizer, __webpack_exports__FastViTForImageClassification, __webpack_exports__FastViTModel, __webpack_exports__FastViTPreTrainedModel, __webpack_exports__FeatureExtractionPipeline, __webpack_exports__FeatureExtractor, __webpack_exports__FillMaskPipeline, __webpack_exports__Florence2ForConditionalGeneration, __webpack_exports__Florence2PreTrainedModel, __webpack_exports__Florence2Processor, __webpack_exports__ForcedBOSTokenLogitsProcessor, __webpack_exports__ForcedEOSTokenLogitsProcessor, __webpack_exports__GLPNFeatureExtractor, __webpack_exports__GLPNForDepthEstimation, __webpack_exports__GLPNModel, __webpack_exports__GLPNPreTrainedModel, __webpack_exports__GPT2LMHeadModel, __webpack_exports__GPT2Model, __webpack_exports__GPT2PreTrainedModel, __webpack_exports__GPT2Tokenizer, __webpack_exports__GPTBigCodeForCausalLM, __webpack_exports__GPTBigCodeModel, __webpack_exports__GPTBigCodePreTrainedModel, __webpack_exports__GPTJForCausalLM, __webpack_exports__GPTJModel, __webpack_exports__GPTJPreTrainedModel, __webpack_exports__GPTNeoForCausalLM, __webpack_exports__GPTNeoModel, __webpack_exports__GPTNeoPreTrainedModel, __webpack_exports__GPTNeoXForCausalLM, __webpack_exports__GPTNeoXModel, __webpack_exports__GPTNeoXPreTrainedModel, __webpack_exports__GPTNeoXTokenizer, __webpack_exports__Gemma2ForCausalLM, __webpack_exports__Gemma2Model, __webpack_exports__Gemma2PreTrainedModel, __webpack_exports__Gemma3ForCausalLM, __webpack_exports__Gemma3Model, __webpack_exports__Gemma3PreTrainedModel, __webpack_exports__Gemma3nAudioFeatureExtractor, __webpack_exports__Gemma3nForConditionalGeneration, __webpack_exports__Gemma3nPreTrainedModel, __webpack_exports__Gemma3nProcessor, __webpack_exports__GemmaForCausalLM, __webpack_exports__GemmaModel, __webpack_exports__GemmaPreTrainedModel, __webpack_exports__GemmaTokenizer, __webpack_exports__GlmForCausalLM, __webpack_exports__GlmModel, __webpack_exports__GlmPreTrainedModel, __webpack_exports__GraniteForCausalLM, __webpack_exports__GraniteModel, __webpack_exports__GraniteMoeHybridForCausalLM, __webpack_exports__GraniteMoeHybridModel, __webpack_exports__GraniteMoeHybridPreTrainedModel, __webpack_exports__GranitePreTrainedModel, __webpack_exports__Grok1Tokenizer, __webpack_exports__GroundingDinoForObjectDetection, __webpack_exports__GroundingDinoImageProcessor, __webpack_exports__GroundingDinoPreTrainedModel, __webpack_exports__GroundingDinoProcessor, __webpack_exports__GroupViTModel, __webpack_exports__GroupViTPreTrainedModel, __webpack_exports__HeliumForCausalLM, __webpack_exports__HeliumModel, __webpack_exports__HeliumPreTrainedModel, __webpack_exports__HerbertTokenizer, __webpack_exports__HieraForImageClassification, __webpack_exports__HieraModel, __webpack_exports__HieraPreTrainedModel, __webpack_exports__HubertForCTC, __webpack_exports__HubertForSequenceClassification, __webpack_exports__HubertModel, __webpack_exports__HubertPreTrainedModel, __webpack_exports__IJepaForImageClassification, __webpack_exports__IJepaModel, __webpack_exports__IJepaPreTrainedModel, __webpack_exports__Idefics3ForConditionalGeneration, __webpack_exports__Idefics3ImageProcessor, __webpack_exports__Idefics3PreTrainedModel, __webpack_exports__Idefics3Processor, __webpack_exports__ImageClassificationPipeline, __webpack_exports__ImageFeatureExtractionPipeline, __webpack_exports__ImageFeatureExtractor, __webpack_exports__ImageMattingOutput, __webpack_exports__ImageProcessor, __webpack_exports__ImageSegmentationPipeline, __webpack_exports__ImageToImagePipeline, __webpack_exports__ImageToTextPipeline, __webpack_exports__InterruptableStoppingCriteria, __webpack_exports__JAISLMHeadModel, __webpack_exports__JAISModel, __webpack_exports__JAISPreTrainedModel, __webpack_exports__JinaCLIPImageProcessor, __webpack_exports__JinaCLIPModel, __webpack_exports__JinaCLIPPreTrainedModel, __webpack_exports__JinaCLIPProcessor, __webpack_exports__JinaCLIPTextModel, __webpack_exports__JinaCLIPVisionModel, __webpack_exports__Lfm2ForCausalLM, __webpack_exports__Lfm2Model, __webpack_exports__Lfm2PreTrainedModel, __webpack_exports__LiteWhisperForConditionalGeneration, __webpack_exports__Llama4ForCausalLM, __webpack_exports__Llama4PreTrainedModel, __webpack_exports__LlamaForCausalLM, __webpack_exports__LlamaModel, __webpack_exports__LlamaPreTrainedModel, __webpack_exports__LlamaTokenizer, __webpack_exports__LlavaForConditionalGeneration, __webpack_exports__LlavaOnevisionForConditionalGeneration, __webpack_exports__LlavaOnevisionImageProcessor, __webpack_exports__LlavaPreTrainedModel, __webpack_exports__LlavaProcessor, __webpack_exports__LlavaQwen2ForCausalLM, __webpack_exports__LogitsProcessor, __webpack_exports__LogitsProcessorList, __webpack_exports__LogitsWarper, __webpack_exports__LongT5ForConditionalGeneration, __webpack_exports__LongT5Model, __webpack_exports__LongT5PreTrainedModel, __webpack_exports__M2M100ForConditionalGeneration, __webpack_exports__M2M100Model, __webpack_exports__M2M100PreTrainedModel, __webpack_exports__M2M100Tokenizer, __webpack_exports__MBart50Tokenizer, __webpack_exports__MBartForCausalLM, __webpack_exports__MBartForConditionalGeneration, __webpack_exports__MBartForSequenceClassification, __webpack_exports__MBartModel, __webpack_exports__MBartPreTrainedModel, __webpack_exports__MBartTokenizer, __webpack_exports__MPNetForMaskedLM, __webpack_exports__MPNetForQuestionAnswering, __webpack_exports__MPNetForSequenceClassification, __webpack_exports__MPNetForTokenClassification, __webpack_exports__MPNetModel, __webpack_exports__MPNetPreTrainedModel, __webpack_exports__MPNetTokenizer, __webpack_exports__MT5ForConditionalGeneration, __webpack_exports__MT5Model, __webpack_exports__MT5PreTrainedModel, __webpack_exports__MarianMTModel, __webpack_exports__MarianModel, __webpack_exports__MarianPreTrainedModel, __webpack_exports__MarianTokenizer, __webpack_exports__Mask2FormerImageProcessor, __webpack_exports__MaskFormerFeatureExtractor, __webpack_exports__MaskFormerForInstanceSegmentation, __webpack_exports__MaskFormerImageProcessor, __webpack_exports__MaskFormerModel, __webpack_exports__MaskFormerPreTrainedModel, __webpack_exports__MaskedLMOutput, __webpack_exports__MaxLengthCriteria, __webpack_exports__Metric3DForDepthEstimation, __webpack_exports__Metric3DPreTrainedModel, __webpack_exports__Metric3Dv2ForDepthEstimation, __webpack_exports__Metric3Dv2PreTrainedModel, __webpack_exports__MgpstrForSceneTextRecognition, __webpack_exports__MgpstrModelOutput, __webpack_exports__MgpstrPreTrainedModel, __webpack_exports__MgpstrProcessor, __webpack_exports__MgpstrTokenizer, __webpack_exports__MimiDecoderModel, __webpack_exports__MimiDecoderOutput, __webpack_exports__MimiEncoderModel, __webpack_exports__MimiEncoderOutput, __webpack_exports__MimiModel, __webpack_exports__MimiPreTrainedModel, __webpack_exports__MinLengthLogitsProcessor, __webpack_exports__MinNewTokensLengthLogitsProcessor, __webpack_exports__Ministral3ForCausalLM, __webpack_exports__Ministral3Model, __webpack_exports__Ministral3PreTrainedModel, __webpack_exports__MinistralForCausalLM, __webpack_exports__MinistralModel, __webpack_exports__MinistralPreTrainedModel, __webpack_exports__Mistral3ForConditionalGeneration, __webpack_exports__MistralForCausalLM, __webpack_exports__MistralModel, __webpack_exports__MistralPreTrainedModel, __webpack_exports__MobileBertForMaskedLM, __webpack_exports__MobileBertForQuestionAnswering, __webpack_exports__MobileBertForSequenceClassification, __webpack_exports__MobileBertModel, __webpack_exports__MobileBertPreTrainedModel, __webpack_exports__MobileBertTokenizer, __webpack_exports__MobileLLMForCausalLM, __webpack_exports__MobileLLMModel, __webpack_exports__MobileLLMPreTrainedModel, __webpack_exports__MobileNetV1FeatureExtractor, __webpack_exports__MobileNetV1ForImageClassification, __webpack_exports__MobileNetV1ForSemanticSegmentation, __webpack_exports__MobileNetV1ImageProcessor, __webpack_exports__MobileNetV1Model, __webpack_exports__MobileNetV1PreTrainedModel, __webpack_exports__MobileNetV2FeatureExtractor, __webpack_exports__MobileNetV2ForImageClassification, __webpack_exports__MobileNetV2ForSemanticSegmentation, __webpack_exports__MobileNetV2ImageProcessor, __webpack_exports__MobileNetV2Model, __webpack_exports__MobileNetV2PreTrainedModel, __webpack_exports__MobileNetV3FeatureExtractor, __webpack_exports__MobileNetV3ForImageClassification, __webpack_exports__MobileNetV3ForSemanticSegmentation, __webpack_exports__MobileNetV3ImageProcessor, __webpack_exports__MobileNetV3Model, __webpack_exports__MobileNetV3PreTrainedModel, __webpack_exports__MobileNetV4FeatureExtractor, __webpack_exports__MobileNetV4ForImageClassification, __webpack_exports__MobileNetV4ForSemanticSegmentation, __webpack_exports__MobileNetV4ImageProcessor, __webpack_exports__MobileNetV4Model, __webpack_exports__MobileNetV4PreTrainedModel, __webpack_exports__MobileViTFeatureExtractor, __webpack_exports__MobileViTForImageClassification, __webpack_exports__MobileViTImageProcessor, __webpack_exports__MobileViTModel, __webpack_exports__MobileViTPreTrainedModel, __webpack_exports__MobileViTV2ForImageClassification, __webpack_exports__MobileViTV2Model, __webpack_exports__MobileViTV2PreTrainedModel, __webpack_exports__ModelOutput, __webpack_exports__ModernBertDecoderForCausalLM, __webpack_exports__ModernBertDecoderModel, __webpack_exports__ModernBertDecoderPreTrainedModel, __webpack_exports__ModernBertForMaskedLM, __webpack_exports__ModernBertForSequenceClassification, __webpack_exports__ModernBertForTokenClassification, __webpack_exports__ModernBertModel, __webpack_exports__ModernBertPreTrainedModel, __webpack_exports__Moondream1ForConditionalGeneration, __webpack_exports__MoonshineFeatureExtractor, __webpack_exports__MoonshineForConditionalGeneration, __webpack_exports__MoonshineModel, __webpack_exports__MoonshinePreTrainedModel, __webpack_exports__MoonshineProcessor, __webpack_exports__MptForCausalLM, __webpack_exports__MptModel, __webpack_exports__MptPreTrainedModel, __webpack_exports__MultiModalityCausalLM, __webpack_exports__MultiModalityPreTrainedModel, __webpack_exports__MusicgenForCausalLM, __webpack_exports__MusicgenForConditionalGeneration, __webpack_exports__MusicgenModel, __webpack_exports__MusicgenPreTrainedModel, __webpack_exports__NanoChatForCausalLM, __webpack_exports__NanoChatModel, __webpack_exports__NanoChatPreTrainedModel, __webpack_exports__NeoBertForMaskedLM, __webpack_exports__NeoBertForQuestionAnswering, __webpack_exports__NeoBertForSequenceClassification, __webpack_exports__NeoBertForTokenClassification, __webpack_exports__NeoBertModel, __webpack_exports__NeoBertPreTrainedModel, __webpack_exports__NllbTokenizer, __webpack_exports__NoBadWordsLogitsProcessor, __webpack_exports__NoRepeatNGramLogitsProcessor, __webpack_exports__NomicBertModel, __webpack_exports__NomicBertPreTrainedModel, __webpack_exports__NougatImageProcessor, __webpack_exports__NougatTokenizer, __webpack_exports__OPTForCausalLM, __webpack_exports__OPTModel, __webpack_exports__OPTPreTrainedModel, __webpack_exports__ObjectDetectionPipeline, __webpack_exports__Olmo2ForCausalLM, __webpack_exports__Olmo2Model, __webpack_exports__Olmo2PreTrainedModel, __webpack_exports__OlmoForCausalLM, __webpack_exports__OlmoModel, __webpack_exports__OlmoPreTrainedModel, __webpack_exports__OpenELMForCausalLM, __webpack_exports__OpenELMModel, __webpack_exports__OpenELMPreTrainedModel, __webpack_exports__OwlViTFeatureExtractor, __webpack_exports__OwlViTForObjectDetection, __webpack_exports__OwlViTImageProcessor, __webpack_exports__OwlViTModel, __webpack_exports__OwlViTPreTrainedModel, __webpack_exports__OwlViTProcessor, __webpack_exports__Owlv2ForObjectDetection, __webpack_exports__Owlv2ImageProcessor, __webpack_exports__Owlv2Model, __webpack_exports__Owlv2PreTrainedModel, __webpack_exports__PaliGemmaForConditionalGeneration, __webpack_exports__PaliGemmaPreTrainedModel, __webpack_exports__PaliGemmaProcessor, __webpack_exports__ParakeetFeatureExtractor, __webpack_exports__ParakeetForCTC, __webpack_exports__ParakeetPreTrainedModel, __webpack_exports__PatchTSMixerForPrediction, __webpack_exports__PatchTSMixerModel, __webpack_exports__PatchTSMixerPreTrainedModel, __webpack_exports__PatchTSTForPrediction, __webpack_exports__PatchTSTModel, __webpack_exports__PatchTSTPreTrainedModel, __webpack_exports__Phi3ForCausalLM, __webpack_exports__Phi3Model, __webpack_exports__Phi3PreTrainedModel, __webpack_exports__Phi3VForCausalLM, __webpack_exports__Phi3VImageProcessor, __webpack_exports__Phi3VPreTrainedModel, __webpack_exports__Phi3VProcessor, __webpack_exports__PhiForCausalLM, __webpack_exports__PhiModel, __webpack_exports__PhiPreTrainedModel, __webpack_exports__Pipeline, __webpack_exports__PixtralImageProcessor, __webpack_exports__PixtralProcessor, __webpack_exports__PreTrainedModel, __webpack_exports__PreTrainedTokenizer, __webpack_exports__PretrainedConfig, __webpack_exports__PretrainedMixin, __webpack_exports__Processor, __webpack_exports__PvtForImageClassification, __webpack_exports__PvtImageProcessor, __webpack_exports__PvtModel, __webpack_exports__PvtPreTrainedModel, __webpack_exports__PyAnnoteFeatureExtractor, __webpack_exports__PyAnnoteForAudioFrameClassification, __webpack_exports__PyAnnoteModel, __webpack_exports__PyAnnotePreTrainedModel, __webpack_exports__PyAnnoteProcessor, __webpack_exports__QuestionAnsweringModelOutput, __webpack_exports__QuestionAnsweringPipeline, __webpack_exports__Qwen2ForCausalLM, __webpack_exports__Qwen2Model, __webpack_exports__Qwen2PreTrainedModel, __webpack_exports__Qwen2Tokenizer, __webpack_exports__Qwen2VLForConditionalGeneration, __webpack_exports__Qwen2VLImageProcessor, __webpack_exports__Qwen2VLPreTrainedModel, __webpack_exports__Qwen2VLProcessor, __webpack_exports__Qwen3ForCausalLM, __webpack_exports__Qwen3Model, __webpack_exports__Qwen3PreTrainedModel, __webpack_exports__RFDetrForObjectDetection, __webpack_exports__RFDetrModel, __webpack_exports__RFDetrObjectDetectionOutput, __webpack_exports__RFDetrPreTrainedModel, __webpack_exports__RTDetrForObjectDetection, __webpack_exports__RTDetrImageProcessor, __webpack_exports__RTDetrModel, __webpack_exports__RTDetrObjectDetectionOutput, __webpack_exports__RTDetrPreTrainedModel, __webpack_exports__RTDetrV2ForObjectDetection, __webpack_exports__RTDetrV2Model, __webpack_exports__RTDetrV2ObjectDetectionOutput, __webpack_exports__RTDetrV2PreTrainedModel, __webpack_exports__RawAudio, __webpack_exports__RawImage, __webpack_exports__RawVideo, __webpack_exports__RawVideoFrame, __webpack_exports__RepetitionPenaltyLogitsProcessor, __webpack_exports__ResNetForImageClassification, __webpack_exports__ResNetModel, __webpack_exports__ResNetPreTrainedModel, __webpack_exports__RoFormerForMaskedLM, __webpack_exports__RoFormerForQuestionAnswering, __webpack_exports__RoFormerForSequenceClassification, __webpack_exports__RoFormerForTokenClassification, __webpack_exports__RoFormerModel, __webpack_exports__RoFormerPreTrainedModel, __webpack_exports__RoFormerTokenizer, __webpack_exports__RobertaForMaskedLM, __webpack_exports__RobertaForQuestionAnswering, __webpack_exports__RobertaForSequenceClassification, __webpack_exports__RobertaForTokenClassification, __webpack_exports__RobertaModel, __webpack_exports__RobertaPreTrainedModel, __webpack_exports__RobertaTokenizer, __webpack_exports__Sam2ImageProcessor, __webpack_exports__Sam2ImageSegmentationOutput, __webpack_exports__Sam2Model, __webpack_exports__Sam2PreTrainedModel, __webpack_exports__Sam2Processor, __webpack_exports__Sam2VideoProcessor, __webpack_exports__Sam3ImageProcessor, __webpack_exports__Sam3TrackerModel, __webpack_exports__SamImageProcessor, __webpack_exports__SamImageSegmentationOutput, __webpack_exports__SamModel, __webpack_exports__SamPreTrainedModel, __webpack_exports__SamProcessor, __webpack_exports__SapiensForDepthEstimation, __webpack_exports__SapiensForNormalEstimation, __webpack_exports__SapiensForSemanticSegmentation, __webpack_exports__SapiensPreTrainedModel, __webpack_exports__SeamlessM4TFeatureExtractor, __webpack_exports__SegformerFeatureExtractor, __webpack_exports__SegformerForImageClassification, __webpack_exports__SegformerForSemanticSegmentation, __webpack_exports__SegformerImageProcessor, __webpack_exports__SegformerModel, __webpack_exports__SegformerPreTrainedModel, __webpack_exports__Seq2SeqLMOutput, __webpack_exports__SequenceClassifierOutput, __webpack_exports__SiglipImageProcessor, __webpack_exports__SiglipModel, __webpack_exports__SiglipPreTrainedModel, __webpack_exports__SiglipTextModel, __webpack_exports__SiglipTokenizer, __webpack_exports__SiglipVisionModel, __webpack_exports__SmolLM3ForCausalLM, __webpack_exports__SmolLM3Model, __webpack_exports__SmolLM3PreTrainedModel, __webpack_exports__SmolVLMForConditionalGeneration, __webpack_exports__SmolVLMImageProcessor, __webpack_exports__SmolVLMProcessor, __webpack_exports__SnacDecoderModel, __webpack_exports__SnacEncoderModel, __webpack_exports__SnacFeatureExtractor, __webpack_exports__SnacModel, __webpack_exports__SnacPreTrainedModel, __webpack_exports__SpeechT5FeatureExtractor, __webpack_exports__SpeechT5ForSpeechToText, __webpack_exports__SpeechT5ForTextToSpeech, __webpack_exports__SpeechT5HifiGan, __webpack_exports__SpeechT5Model, __webpack_exports__SpeechT5PreTrainedModel, __webpack_exports__SpeechT5Processor, __webpack_exports__SpeechT5Tokenizer, __webpack_exports__SqueezeBertForMaskedLM, __webpack_exports__SqueezeBertForQuestionAnswering, __webpack_exports__SqueezeBertForSequenceClassification, __webpack_exports__SqueezeBertModel, __webpack_exports__SqueezeBertPreTrainedModel, __webpack_exports__SqueezeBertTokenizer, __webpack_exports__StableLmForCausalLM, __webpack_exports__StableLmModel, __webpack_exports__StableLmPreTrainedModel, __webpack_exports__Starcoder2ForCausalLM, __webpack_exports__Starcoder2Model, __webpack_exports__Starcoder2PreTrainedModel, __webpack_exports__StoppingCriteria, __webpack_exports__StoppingCriteriaList, __webpack_exports__StyleTextToSpeech2Model, __webpack_exports__StyleTextToSpeech2PreTrainedModel, __webpack_exports__SummarizationPipeline, __webpack_exports__SupertonicForConditionalGeneration, __webpack_exports__SupertonicPreTrainedModel, __webpack_exports__SuppressTokensAtBeginLogitsProcessor, __webpack_exports__Swin2SRForImageSuperResolution, __webpack_exports__Swin2SRImageProcessor, __webpack_exports__Swin2SRModel, __webpack_exports__Swin2SRPreTrainedModel, __webpack_exports__SwinForImageClassification, __webpack_exports__SwinForSemanticSegmentation, __webpack_exports__SwinModel, __webpack_exports__SwinPreTrainedModel, __webpack_exports__T5ForConditionalGeneration, __webpack_exports__T5Model, __webpack_exports__T5PreTrainedModel, __webpack_exports__T5Tokenizer, __webpack_exports__TableTransformerForObjectDetection, __webpack_exports__TableTransformerModel, __webpack_exports__TableTransformerObjectDetectionOutput, __webpack_exports__TableTransformerPreTrainedModel, __webpack_exports__TemperatureLogitsWarper, __webpack_exports__Tensor, __webpack_exports__Text2TextGenerationPipeline, __webpack_exports__TextClassificationPipeline, __webpack_exports__TextGenerationPipeline, __webpack_exports__TextStreamer, __webpack_exports__TextToAudioPipeline, __webpack_exports__TokenClassificationPipeline, __webpack_exports__TokenClassifierOutput, __webpack_exports__TokenizerModel, __webpack_exports__TopKLogitsWarper, __webpack_exports__TopPLogitsWarper, __webpack_exports__TrOCRForCausalLM, __webpack_exports__TrOCRPreTrainedModel, __webpack_exports__TranslationPipeline, __webpack_exports__UltravoxModel, __webpack_exports__UltravoxPreTrainedModel, __webpack_exports__UltravoxProcessor, __webpack_exports__UniSpeechForCTC, __webpack_exports__UniSpeechForSequenceClassification, __webpack_exports__UniSpeechModel, __webpack_exports__UniSpeechPreTrainedModel, __webpack_exports__UniSpeechSatForAudioFrameClassification, __webpack_exports__UniSpeechSatForCTC, __webpack_exports__UniSpeechSatForSequenceClassification, __webpack_exports__UniSpeechSatModel, __webpack_exports__UniSpeechSatPreTrainedModel, __webpack_exports__VLChatProcessor, __webpack_exports__VLMImageProcessor, __webpack_exports__VaultGemmaForCausalLM, __webpack_exports__VaultGemmaModel, __webpack_exports__VaultGemmaPreTrainedModel, __webpack_exports__ViTFeatureExtractor, __webpack_exports__ViTForImageClassification, __webpack_exports__ViTImageProcessor, __webpack_exports__ViTMAEModel, __webpack_exports__ViTMAEPreTrainedModel, __webpack_exports__ViTMSNForImageClassification, __webpack_exports__ViTMSNModel, __webpack_exports__ViTMSNPreTrainedModel, __webpack_exports__ViTModel, __webpack_exports__ViTPreTrainedModel, __webpack_exports__VisionEncoderDecoderModel, __webpack_exports__VitMatteForImageMatting, __webpack_exports__VitMatteImageProcessor, __webpack_exports__VitMattePreTrainedModel, __webpack_exports__VitPoseForPoseEstimation, __webpack_exports__VitPoseImageProcessor, __webpack_exports__VitPosePreTrainedModel, __webpack_exports__VitsModel, __webpack_exports__VitsModelOutput, __webpack_exports__VitsPreTrainedModel, __webpack_exports__VitsTokenizer, __webpack_exports__VoxtralForConditionalGeneration, __webpack_exports__VoxtralProcessor, __webpack_exports__Wav2Vec2BertForCTC, __webpack_exports__Wav2Vec2BertForSequenceClassification, __webpack_exports__Wav2Vec2BertModel, __webpack_exports__Wav2Vec2BertPreTrainedModel, __webpack_exports__Wav2Vec2CTCTokenizer, __webpack_exports__Wav2Vec2FeatureExtractor, __webpack_exports__Wav2Vec2ForAudioFrameClassification, __webpack_exports__Wav2Vec2ForCTC, __webpack_exports__Wav2Vec2ForSequenceClassification, __webpack_exports__Wav2Vec2Model, __webpack_exports__Wav2Vec2PreTrainedModel, __webpack_exports__Wav2Vec2Processor, __webpack_exports__Wav2Vec2ProcessorWithLM, __webpack_exports__WavLMForAudioFrameClassification, __webpack_exports__WavLMForCTC, __webpack_exports__WavLMForSequenceClassification, __webpack_exports__WavLMForXVector, __webpack_exports__WavLMModel, __webpack_exports__WavLMPreTrainedModel, __webpack_exports__WeSpeakerFeatureExtractor, __webpack_exports__WeSpeakerResNetModel, __webpack_exports__WeSpeakerResNetPreTrainedModel, __webpack_exports__WhisperFeatureExtractor, __webpack_exports__WhisperForConditionalGeneration, __webpack_exports__WhisperModel, __webpack_exports__WhisperPreTrainedModel, __webpack_exports__WhisperProcessor, __webpack_exports__WhisperTextStreamer, __webpack_exports__WhisperTimeStampLogitsProcessor, __webpack_exports__WhisperTokenizer, __webpack_exports__XLMForQuestionAnswering, __webpack_exports__XLMForSequenceClassification, __webpack_exports__XLMForTokenClassification, __webpack_exports__XLMModel, __webpack_exports__XLMPreTrainedModel, __webpack_exports__XLMRobertaForMaskedLM, __webpack_exports__XLMRobertaForQuestionAnswering, __webpack_exports__XLMRobertaForSequenceClassification, __webpack_exports__XLMRobertaForTokenClassification, __webpack_exports__XLMRobertaModel, __webpack_exports__XLMRobertaPreTrainedModel, __webpack_exports__XLMRobertaTokenizer, __webpack_exports__XLMTokenizer, __webpack_exports__XLMWithLMHeadModel, __webpack_exports__XVectorOutput, __webpack_exports__YolosFeatureExtractor, __webpack_exports__YolosForObjectDetection, __webpack_exports__YolosImageProcessor, __webpack_exports__YolosModel, __webpack_exports__YolosObjectDetectionOutput, __webpack_exports__YolosPreTrainedModel, __webpack_exports__ZeroShotAudioClassificationPipeline, __webpack_exports__ZeroShotClassificationPipeline, __webpack_exports__ZeroShotImageClassificationPipeline, __webpack_exports__ZeroShotObjectDetectionPipeline, __webpack_exports__bankers_round, __webpack_exports__cat, __webpack_exports__cos_sim, __webpack_exports__dot, __webpack_exports__dynamic_time_warping, __webpack_exports__env, __webpack_exports__full, __webpack_exports__full_like, __webpack_exports__getCacheShapes, __webpack_exports__hamming, __webpack_exports__hanning, __webpack_exports__interpolate, __webpack_exports__interpolate_4d, __webpack_exports__interpolate_data, __webpack_exports__is_chinese_char, __webpack_exports__layer_norm, __webpack_exports__load_image, __webpack_exports__load_video, __webpack_exports__log_softmax, __webpack_exports__magnitude, __webpack_exports__matmul, __webpack_exports__max, __webpack_exports__mean, __webpack_exports__mean_pooling, __webpack_exports__medianFilter, __webpack_exports__mel_filter_bank, __webpack_exports__min, __webpack_exports__ones, __webpack_exports__ones_like, __webpack_exports__permute, __webpack_exports__permute_data, __webpack_exports__pipeline, __webpack_exports__quantize_embeddings, __webpack_exports__rand, __webpack_exports__randn, __webpack_exports__read_audio, __webpack_exports__rfft, __webpack_exports__round, __webpack_exports__slice, __webpack_exports__softmax, __webpack_exports__spectrogram, __webpack_exports__stack, __webpack_exports__std_mean, __webpack_exports__topk, __webpack_exports__window_function, __webpack_exports__zeros, __webpack_exports__zeros_like;
9844
+ var __WEBPACK_EXTERNAL_MODULE_onnxruntime_node_6a60201e__, __WEBPACK_EXTERNAL_MODULE_sharp__, __dirname = "/home/james/Documents/goopspec/node_modules/@huggingface/transformers/dist", __webpack_modules__, __webpack_module_cache__, __webpack_exports__, __webpack_exports__ASTFeatureExtractor, __webpack_exports__ASTForAudioClassification, __webpack_exports__ASTModel, __webpack_exports__ASTPreTrainedModel, __webpack_exports__AlbertForMaskedLM, __webpack_exports__AlbertForQuestionAnswering, __webpack_exports__AlbertForSequenceClassification, __webpack_exports__AlbertModel, __webpack_exports__AlbertPreTrainedModel, __webpack_exports__AlbertTokenizer, __webpack_exports__ArceeForCausalLM, __webpack_exports__ArceeModel, __webpack_exports__ArceePreTrainedModel, __webpack_exports__AudioClassificationPipeline, __webpack_exports__AutoConfig, __webpack_exports__AutoFeatureExtractor, __webpack_exports__AutoImageProcessor, __webpack_exports__AutoModel, __webpack_exports__AutoModelForAudioClassification, __webpack_exports__AutoModelForAudioFrameClassification, __webpack_exports__AutoModelForAudioTextToText, __webpack_exports__AutoModelForCTC, __webpack_exports__AutoModelForCausalLM, __webpack_exports__AutoModelForDepthEstimation, __webpack_exports__AutoModelForDocumentQuestionAnswering, __webpack_exports__AutoModelForImageClassification, __webpack_exports__AutoModelForImageFeatureExtraction, __webpack_exports__AutoModelForImageMatting, __webpack_exports__AutoModelForImageSegmentation, __webpack_exports__AutoModelForImageTextToText, __webpack_exports__AutoModelForImageToImage, __webpack_exports__AutoModelForMaskGeneration, __webpack_exports__AutoModelForMaskedLM, __webpack_exports__AutoModelForNormalEstimation, __webpack_exports__AutoModelForObjectDetection, __webpack_exports__AutoModelForPoseEstimation, __webpack_exports__AutoModelForQuestionAnswering, __webpack_exports__AutoModelForSemanticSegmentation, __webpack_exports__AutoModelForSeq2SeqLM, __webpack_exports__AutoModelForSequenceClassification, __webpack_exports__AutoModelForSpeechSeq2Seq, __webpack_exports__AutoModelForTextToSpectrogram, __webpack_exports__AutoModelForTextToWaveform, __webpack_exports__AutoModelForTokenClassification, __webpack_exports__AutoModelForUniversalSegmentation, __webpack_exports__AutoModelForVision2Seq, __webpack_exports__AutoModelForXVector, __webpack_exports__AutoModelForZeroShotObjectDetection, __webpack_exports__AutoProcessor, __webpack_exports__AutoTokenizer, __webpack_exports__AutomaticSpeechRecognitionPipeline, __webpack_exports__BackgroundRemovalPipeline, __webpack_exports__BartForConditionalGeneration, __webpack_exports__BartForSequenceClassification, __webpack_exports__BartModel, __webpack_exports__BartPretrainedModel, __webpack_exports__BartTokenizer, __webpack_exports__BaseModelOutput, __webpack_exports__BaseStreamer, __webpack_exports__BeitFeatureExtractor, __webpack_exports__BeitForImageClassification, __webpack_exports__BeitModel, __webpack_exports__BeitPreTrainedModel, __webpack_exports__BertForMaskedLM, __webpack_exports__BertForQuestionAnswering, __webpack_exports__BertForSequenceClassification, __webpack_exports__BertForTokenClassification, __webpack_exports__BertModel, __webpack_exports__BertPreTrainedModel, __webpack_exports__BertTokenizer, __webpack_exports__BitImageProcessor, __webpack_exports__BlenderbotForConditionalGeneration, __webpack_exports__BlenderbotModel, __webpack_exports__BlenderbotPreTrainedModel, __webpack_exports__BlenderbotSmallForConditionalGeneration, __webpack_exports__BlenderbotSmallModel, __webpack_exports__BlenderbotSmallPreTrainedModel, __webpack_exports__BlenderbotSmallTokenizer, __webpack_exports__BlenderbotTokenizer, __webpack_exports__BloomForCausalLM, __webpack_exports__BloomModel, __webpack_exports__BloomPreTrainedModel, __webpack_exports__BloomTokenizer, __webpack_exports__CLIPFeatureExtractor, __webpack_exports__CLIPImageProcessor, __webpack_exports__CLIPModel, __webpack_exports__CLIPPreTrainedModel, __webpack_exports__CLIPSegForImageSegmentation, __webpack_exports__CLIPSegModel, __webpack_exports__CLIPSegPreTrainedModel, __webpack_exports__CLIPTextModel, __webpack_exports__CLIPTextModelWithProjection, __webpack_exports__CLIPTokenizer, __webpack_exports__CLIPVisionModel, __webpack_exports__CLIPVisionModelWithProjection, __webpack_exports__CamembertForMaskedLM, __webpack_exports__CamembertForQuestionAnswering, __webpack_exports__CamembertForSequenceClassification, __webpack_exports__CamembertForTokenClassification, __webpack_exports__CamembertModel, __webpack_exports__CamembertPreTrainedModel, __webpack_exports__CamembertTokenizer, __webpack_exports__CausalLMOutput, __webpack_exports__CausalLMOutputWithPast, __webpack_exports__ChineseCLIPFeatureExtractor, __webpack_exports__ChineseCLIPModel, __webpack_exports__ChineseCLIPPreTrainedModel, __webpack_exports__ClapAudioModelWithProjection, __webpack_exports__ClapFeatureExtractor, __webpack_exports__ClapModel, __webpack_exports__ClapPreTrainedModel, __webpack_exports__ClapTextModelWithProjection, __webpack_exports__ClassifierFreeGuidanceLogitsProcessor, __webpack_exports__CodeGenForCausalLM, __webpack_exports__CodeGenModel, __webpack_exports__CodeGenPreTrainedModel, __webpack_exports__CodeGenTokenizer, __webpack_exports__CodeLlamaTokenizer, __webpack_exports__CohereForCausalLM, __webpack_exports__CohereModel, __webpack_exports__CoherePreTrainedModel, __webpack_exports__CohereTokenizer, __webpack_exports__ConvBertForMaskedLM, __webpack_exports__ConvBertForQuestionAnswering, __webpack_exports__ConvBertForSequenceClassification, __webpack_exports__ConvBertForTokenClassification, __webpack_exports__ConvBertModel, __webpack_exports__ConvBertPreTrainedModel, __webpack_exports__ConvBertTokenizer, __webpack_exports__ConvNextFeatureExtractor, __webpack_exports__ConvNextForImageClassification, __webpack_exports__ConvNextImageProcessor, __webpack_exports__ConvNextModel, __webpack_exports__ConvNextPreTrainedModel, __webpack_exports__ConvNextV2ForImageClassification, __webpack_exports__ConvNextV2Model, __webpack_exports__ConvNextV2PreTrainedModel, __webpack_exports__DFineForObjectDetection, __webpack_exports__DFineModel, __webpack_exports__DFinePreTrainedModel, __webpack_exports__DINOv3ConvNextModel, __webpack_exports__DINOv3ConvNextPreTrainedModel, __webpack_exports__DINOv3ViTImageProcessor, __webpack_exports__DINOv3ViTModel, __webpack_exports__DINOv3ViTPreTrainedModel, __webpack_exports__DPTFeatureExtractor, __webpack_exports__DPTForDepthEstimation, __webpack_exports__DPTImageProcessor, __webpack_exports__DPTModel, __webpack_exports__DPTPreTrainedModel, __webpack_exports__DacDecoderModel, __webpack_exports__DacDecoderOutput, __webpack_exports__DacEncoderModel, __webpack_exports__DacEncoderOutput, __webpack_exports__DacFeatureExtractor, __webpack_exports__DacModel, __webpack_exports__DacPreTrainedModel, __webpack_exports__DataTypeMap, __webpack_exports__DebertaForMaskedLM, __webpack_exports__DebertaForQuestionAnswering, __webpack_exports__DebertaForSequenceClassification, __webpack_exports__DebertaForTokenClassification, __webpack_exports__DebertaModel, __webpack_exports__DebertaPreTrainedModel, __webpack_exports__DebertaTokenizer, __webpack_exports__DebertaV2ForMaskedLM, __webpack_exports__DebertaV2ForQuestionAnswering, __webpack_exports__DebertaV2ForSequenceClassification, __webpack_exports__DebertaV2ForTokenClassification, __webpack_exports__DebertaV2Model, __webpack_exports__DebertaV2PreTrainedModel, __webpack_exports__DebertaV2Tokenizer, __webpack_exports__DecisionTransformerModel, __webpack_exports__DecisionTransformerPreTrainedModel, __webpack_exports__DeiTFeatureExtractor, __webpack_exports__DeiTForImageClassification, __webpack_exports__DeiTImageProcessor, __webpack_exports__DeiTModel, __webpack_exports__DeiTPreTrainedModel, __webpack_exports__DepthAnythingForDepthEstimation, __webpack_exports__DepthAnythingPreTrainedModel, __webpack_exports__DepthEstimationPipeline, __webpack_exports__DepthProForDepthEstimation, __webpack_exports__DepthProPreTrainedModel, __webpack_exports__DetrFeatureExtractor, __webpack_exports__DetrForObjectDetection, __webpack_exports__DetrForSegmentation, __webpack_exports__DetrImageProcessor, __webpack_exports__DetrModel, __webpack_exports__DetrObjectDetectionOutput, __webpack_exports__DetrPreTrainedModel, __webpack_exports__DetrSegmentationOutput, __webpack_exports__Dinov2ForImageClassification, __webpack_exports__Dinov2Model, __webpack_exports__Dinov2PreTrainedModel, __webpack_exports__Dinov2WithRegistersForImageClassification, __webpack_exports__Dinov2WithRegistersModel, __webpack_exports__Dinov2WithRegistersPreTrainedModel, __webpack_exports__DistilBertForMaskedLM, __webpack_exports__DistilBertForQuestionAnswering, __webpack_exports__DistilBertForSequenceClassification, __webpack_exports__DistilBertForTokenClassification, __webpack_exports__DistilBertModel, __webpack_exports__DistilBertPreTrainedModel, __webpack_exports__DistilBertTokenizer, __webpack_exports__DocumentQuestionAnsweringPipeline, __webpack_exports__DonutFeatureExtractor, __webpack_exports__DonutImageProcessor, __webpack_exports__DonutSwinModel, __webpack_exports__DonutSwinPreTrainedModel, __webpack_exports__EdgeTamModel, __webpack_exports__EfficientNetForImageClassification, __webpack_exports__EfficientNetImageProcessor, __webpack_exports__EfficientNetModel, __webpack_exports__EfficientNetPreTrainedModel, __webpack_exports__ElectraForMaskedLM, __webpack_exports__ElectraForQuestionAnswering, __webpack_exports__ElectraForSequenceClassification, __webpack_exports__ElectraForTokenClassification, __webpack_exports__ElectraModel, __webpack_exports__ElectraPreTrainedModel, __webpack_exports__ElectraTokenizer, __webpack_exports__EncodecFeatureExtractor, __webpack_exports__EosTokenCriteria, __webpack_exports__Ernie4_5ForCausalLM, __webpack_exports__Ernie4_5Model, __webpack_exports__Ernie4_5PreTrainedModel, __webpack_exports__EsmForMaskedLM, __webpack_exports__EsmForSequenceClassification, __webpack_exports__EsmForTokenClassification, __webpack_exports__EsmModel, __webpack_exports__EsmPreTrainedModel, __webpack_exports__EsmTokenizer, __webpack_exports__ExaoneForCausalLM, __webpack_exports__ExaoneModel, __webpack_exports__ExaonePreTrainedModel, __webpack_exports__FFT, __webpack_exports__FalconForCausalLM, __webpack_exports__FalconModel, __webpack_exports__FalconPreTrainedModel, __webpack_exports__FalconTokenizer, __webpack_exports__FastViTForImageClassification, __webpack_exports__FastViTModel, __webpack_exports__FastViTPreTrainedModel, __webpack_exports__FeatureExtractionPipeline, __webpack_exports__FeatureExtractor, __webpack_exports__FillMaskPipeline, __webpack_exports__Florence2ForConditionalGeneration, __webpack_exports__Florence2PreTrainedModel, __webpack_exports__Florence2Processor, __webpack_exports__ForcedBOSTokenLogitsProcessor, __webpack_exports__ForcedEOSTokenLogitsProcessor, __webpack_exports__GLPNFeatureExtractor, __webpack_exports__GLPNForDepthEstimation, __webpack_exports__GLPNModel, __webpack_exports__GLPNPreTrainedModel, __webpack_exports__GPT2LMHeadModel, __webpack_exports__GPT2Model, __webpack_exports__GPT2PreTrainedModel, __webpack_exports__GPT2Tokenizer, __webpack_exports__GPTBigCodeForCausalLM, __webpack_exports__GPTBigCodeModel, __webpack_exports__GPTBigCodePreTrainedModel, __webpack_exports__GPTJForCausalLM, __webpack_exports__GPTJModel, __webpack_exports__GPTJPreTrainedModel, __webpack_exports__GPTNeoForCausalLM, __webpack_exports__GPTNeoModel, __webpack_exports__GPTNeoPreTrainedModel, __webpack_exports__GPTNeoXForCausalLM, __webpack_exports__GPTNeoXModel, __webpack_exports__GPTNeoXPreTrainedModel, __webpack_exports__GPTNeoXTokenizer, __webpack_exports__Gemma2ForCausalLM, __webpack_exports__Gemma2Model, __webpack_exports__Gemma2PreTrainedModel, __webpack_exports__Gemma3ForCausalLM, __webpack_exports__Gemma3Model, __webpack_exports__Gemma3PreTrainedModel, __webpack_exports__Gemma3nAudioFeatureExtractor, __webpack_exports__Gemma3nForConditionalGeneration, __webpack_exports__Gemma3nPreTrainedModel, __webpack_exports__Gemma3nProcessor, __webpack_exports__GemmaForCausalLM, __webpack_exports__GemmaModel, __webpack_exports__GemmaPreTrainedModel, __webpack_exports__GemmaTokenizer, __webpack_exports__GlmForCausalLM, __webpack_exports__GlmModel, __webpack_exports__GlmPreTrainedModel, __webpack_exports__GraniteForCausalLM, __webpack_exports__GraniteModel, __webpack_exports__GraniteMoeHybridForCausalLM, __webpack_exports__GraniteMoeHybridModel, __webpack_exports__GraniteMoeHybridPreTrainedModel, __webpack_exports__GranitePreTrainedModel, __webpack_exports__Grok1Tokenizer, __webpack_exports__GroundingDinoForObjectDetection, __webpack_exports__GroundingDinoImageProcessor, __webpack_exports__GroundingDinoPreTrainedModel, __webpack_exports__GroundingDinoProcessor, __webpack_exports__GroupViTModel, __webpack_exports__GroupViTPreTrainedModel, __webpack_exports__HeliumForCausalLM, __webpack_exports__HeliumModel, __webpack_exports__HeliumPreTrainedModel, __webpack_exports__HerbertTokenizer, __webpack_exports__HieraForImageClassification, __webpack_exports__HieraModel, __webpack_exports__HieraPreTrainedModel, __webpack_exports__HubertForCTC, __webpack_exports__HubertForSequenceClassification, __webpack_exports__HubertModel, __webpack_exports__HubertPreTrainedModel, __webpack_exports__IJepaForImageClassification, __webpack_exports__IJepaModel, __webpack_exports__IJepaPreTrainedModel, __webpack_exports__Idefics3ForConditionalGeneration, __webpack_exports__Idefics3ImageProcessor, __webpack_exports__Idefics3PreTrainedModel, __webpack_exports__Idefics3Processor, __webpack_exports__ImageClassificationPipeline, __webpack_exports__ImageFeatureExtractionPipeline, __webpack_exports__ImageFeatureExtractor, __webpack_exports__ImageMattingOutput, __webpack_exports__ImageProcessor, __webpack_exports__ImageSegmentationPipeline, __webpack_exports__ImageToImagePipeline, __webpack_exports__ImageToTextPipeline, __webpack_exports__InterruptableStoppingCriteria, __webpack_exports__JAISLMHeadModel, __webpack_exports__JAISModel, __webpack_exports__JAISPreTrainedModel, __webpack_exports__JinaCLIPImageProcessor, __webpack_exports__JinaCLIPModel, __webpack_exports__JinaCLIPPreTrainedModel, __webpack_exports__JinaCLIPProcessor, __webpack_exports__JinaCLIPTextModel, __webpack_exports__JinaCLIPVisionModel, __webpack_exports__Lfm2ForCausalLM, __webpack_exports__Lfm2Model, __webpack_exports__Lfm2PreTrainedModel, __webpack_exports__LiteWhisperForConditionalGeneration, __webpack_exports__Llama4ForCausalLM, __webpack_exports__Llama4PreTrainedModel, __webpack_exports__LlamaForCausalLM, __webpack_exports__LlamaModel, __webpack_exports__LlamaPreTrainedModel, __webpack_exports__LlamaTokenizer, __webpack_exports__LlavaForConditionalGeneration, __webpack_exports__LlavaOnevisionForConditionalGeneration, __webpack_exports__LlavaOnevisionImageProcessor, __webpack_exports__LlavaPreTrainedModel, __webpack_exports__LlavaProcessor, __webpack_exports__LlavaQwen2ForCausalLM, __webpack_exports__LogitsProcessor, __webpack_exports__LogitsProcessorList, __webpack_exports__LogitsWarper, __webpack_exports__LongT5ForConditionalGeneration, __webpack_exports__LongT5Model, __webpack_exports__LongT5PreTrainedModel, __webpack_exports__M2M100ForConditionalGeneration, __webpack_exports__M2M100Model, __webpack_exports__M2M100PreTrainedModel, __webpack_exports__M2M100Tokenizer, __webpack_exports__MBart50Tokenizer, __webpack_exports__MBartForCausalLM, __webpack_exports__MBartForConditionalGeneration, __webpack_exports__MBartForSequenceClassification, __webpack_exports__MBartModel, __webpack_exports__MBartPreTrainedModel, __webpack_exports__MBartTokenizer, __webpack_exports__MPNetForMaskedLM, __webpack_exports__MPNetForQuestionAnswering, __webpack_exports__MPNetForSequenceClassification, __webpack_exports__MPNetForTokenClassification, __webpack_exports__MPNetModel, __webpack_exports__MPNetPreTrainedModel, __webpack_exports__MPNetTokenizer, __webpack_exports__MT5ForConditionalGeneration, __webpack_exports__MT5Model, __webpack_exports__MT5PreTrainedModel, __webpack_exports__MarianMTModel, __webpack_exports__MarianModel, __webpack_exports__MarianPreTrainedModel, __webpack_exports__MarianTokenizer, __webpack_exports__Mask2FormerImageProcessor, __webpack_exports__MaskFormerFeatureExtractor, __webpack_exports__MaskFormerForInstanceSegmentation, __webpack_exports__MaskFormerImageProcessor, __webpack_exports__MaskFormerModel, __webpack_exports__MaskFormerPreTrainedModel, __webpack_exports__MaskedLMOutput, __webpack_exports__MaxLengthCriteria, __webpack_exports__Metric3DForDepthEstimation, __webpack_exports__Metric3DPreTrainedModel, __webpack_exports__Metric3Dv2ForDepthEstimation, __webpack_exports__Metric3Dv2PreTrainedModel, __webpack_exports__MgpstrForSceneTextRecognition, __webpack_exports__MgpstrModelOutput, __webpack_exports__MgpstrPreTrainedModel, __webpack_exports__MgpstrProcessor, __webpack_exports__MgpstrTokenizer, __webpack_exports__MimiDecoderModel, __webpack_exports__MimiDecoderOutput, __webpack_exports__MimiEncoderModel, __webpack_exports__MimiEncoderOutput, __webpack_exports__MimiModel, __webpack_exports__MimiPreTrainedModel, __webpack_exports__MinLengthLogitsProcessor, __webpack_exports__MinNewTokensLengthLogitsProcessor, __webpack_exports__Ministral3ForCausalLM, __webpack_exports__Ministral3Model, __webpack_exports__Ministral3PreTrainedModel, __webpack_exports__MinistralForCausalLM, __webpack_exports__MinistralModel, __webpack_exports__MinistralPreTrainedModel, __webpack_exports__Mistral3ForConditionalGeneration, __webpack_exports__MistralForCausalLM, __webpack_exports__MistralModel, __webpack_exports__MistralPreTrainedModel, __webpack_exports__MobileBertForMaskedLM, __webpack_exports__MobileBertForQuestionAnswering, __webpack_exports__MobileBertForSequenceClassification, __webpack_exports__MobileBertModel, __webpack_exports__MobileBertPreTrainedModel, __webpack_exports__MobileBertTokenizer, __webpack_exports__MobileLLMForCausalLM, __webpack_exports__MobileLLMModel, __webpack_exports__MobileLLMPreTrainedModel, __webpack_exports__MobileNetV1FeatureExtractor, __webpack_exports__MobileNetV1ForImageClassification, __webpack_exports__MobileNetV1ForSemanticSegmentation, __webpack_exports__MobileNetV1ImageProcessor, __webpack_exports__MobileNetV1Model, __webpack_exports__MobileNetV1PreTrainedModel, __webpack_exports__MobileNetV2FeatureExtractor, __webpack_exports__MobileNetV2ForImageClassification, __webpack_exports__MobileNetV2ForSemanticSegmentation, __webpack_exports__MobileNetV2ImageProcessor, __webpack_exports__MobileNetV2Model, __webpack_exports__MobileNetV2PreTrainedModel, __webpack_exports__MobileNetV3FeatureExtractor, __webpack_exports__MobileNetV3ForImageClassification, __webpack_exports__MobileNetV3ForSemanticSegmentation, __webpack_exports__MobileNetV3ImageProcessor, __webpack_exports__MobileNetV3Model, __webpack_exports__MobileNetV3PreTrainedModel, __webpack_exports__MobileNetV4FeatureExtractor, __webpack_exports__MobileNetV4ForImageClassification, __webpack_exports__MobileNetV4ForSemanticSegmentation, __webpack_exports__MobileNetV4ImageProcessor, __webpack_exports__MobileNetV4Model, __webpack_exports__MobileNetV4PreTrainedModel, __webpack_exports__MobileViTFeatureExtractor, __webpack_exports__MobileViTForImageClassification, __webpack_exports__MobileViTImageProcessor, __webpack_exports__MobileViTModel, __webpack_exports__MobileViTPreTrainedModel, __webpack_exports__MobileViTV2ForImageClassification, __webpack_exports__MobileViTV2Model, __webpack_exports__MobileViTV2PreTrainedModel, __webpack_exports__ModelOutput, __webpack_exports__ModernBertDecoderForCausalLM, __webpack_exports__ModernBertDecoderModel, __webpack_exports__ModernBertDecoderPreTrainedModel, __webpack_exports__ModernBertForMaskedLM, __webpack_exports__ModernBertForSequenceClassification, __webpack_exports__ModernBertForTokenClassification, __webpack_exports__ModernBertModel, __webpack_exports__ModernBertPreTrainedModel, __webpack_exports__Moondream1ForConditionalGeneration, __webpack_exports__MoonshineFeatureExtractor, __webpack_exports__MoonshineForConditionalGeneration, __webpack_exports__MoonshineModel, __webpack_exports__MoonshinePreTrainedModel, __webpack_exports__MoonshineProcessor, __webpack_exports__MptForCausalLM, __webpack_exports__MptModel, __webpack_exports__MptPreTrainedModel, __webpack_exports__MultiModalityCausalLM, __webpack_exports__MultiModalityPreTrainedModel, __webpack_exports__MusicgenForCausalLM, __webpack_exports__MusicgenForConditionalGeneration, __webpack_exports__MusicgenModel, __webpack_exports__MusicgenPreTrainedModel, __webpack_exports__NanoChatForCausalLM, __webpack_exports__NanoChatModel, __webpack_exports__NanoChatPreTrainedModel, __webpack_exports__NeoBertForMaskedLM, __webpack_exports__NeoBertForQuestionAnswering, __webpack_exports__NeoBertForSequenceClassification, __webpack_exports__NeoBertForTokenClassification, __webpack_exports__NeoBertModel, __webpack_exports__NeoBertPreTrainedModel, __webpack_exports__NllbTokenizer, __webpack_exports__NoBadWordsLogitsProcessor, __webpack_exports__NoRepeatNGramLogitsProcessor, __webpack_exports__NomicBertModel, __webpack_exports__NomicBertPreTrainedModel, __webpack_exports__NougatImageProcessor, __webpack_exports__NougatTokenizer, __webpack_exports__OPTForCausalLM, __webpack_exports__OPTModel, __webpack_exports__OPTPreTrainedModel, __webpack_exports__ObjectDetectionPipeline, __webpack_exports__Olmo2ForCausalLM, __webpack_exports__Olmo2Model, __webpack_exports__Olmo2PreTrainedModel, __webpack_exports__OlmoForCausalLM, __webpack_exports__OlmoModel, __webpack_exports__OlmoPreTrainedModel, __webpack_exports__OpenELMForCausalLM, __webpack_exports__OpenELMModel, __webpack_exports__OpenELMPreTrainedModel, __webpack_exports__OwlViTFeatureExtractor, __webpack_exports__OwlViTForObjectDetection, __webpack_exports__OwlViTImageProcessor, __webpack_exports__OwlViTModel, __webpack_exports__OwlViTPreTrainedModel, __webpack_exports__OwlViTProcessor, __webpack_exports__Owlv2ForObjectDetection, __webpack_exports__Owlv2ImageProcessor, __webpack_exports__Owlv2Model, __webpack_exports__Owlv2PreTrainedModel, __webpack_exports__PaliGemmaForConditionalGeneration, __webpack_exports__PaliGemmaPreTrainedModel, __webpack_exports__PaliGemmaProcessor, __webpack_exports__ParakeetFeatureExtractor, __webpack_exports__ParakeetForCTC, __webpack_exports__ParakeetPreTrainedModel, __webpack_exports__PatchTSMixerForPrediction, __webpack_exports__PatchTSMixerModel, __webpack_exports__PatchTSMixerPreTrainedModel, __webpack_exports__PatchTSTForPrediction, __webpack_exports__PatchTSTModel, __webpack_exports__PatchTSTPreTrainedModel, __webpack_exports__Phi3ForCausalLM, __webpack_exports__Phi3Model, __webpack_exports__Phi3PreTrainedModel, __webpack_exports__Phi3VForCausalLM, __webpack_exports__Phi3VImageProcessor, __webpack_exports__Phi3VPreTrainedModel, __webpack_exports__Phi3VProcessor, __webpack_exports__PhiForCausalLM, __webpack_exports__PhiModel, __webpack_exports__PhiPreTrainedModel, __webpack_exports__Pipeline, __webpack_exports__PixtralImageProcessor, __webpack_exports__PixtralProcessor, __webpack_exports__PreTrainedModel, __webpack_exports__PreTrainedTokenizer, __webpack_exports__PretrainedConfig, __webpack_exports__PretrainedMixin, __webpack_exports__Processor, __webpack_exports__PvtForImageClassification, __webpack_exports__PvtImageProcessor, __webpack_exports__PvtModel, __webpack_exports__PvtPreTrainedModel, __webpack_exports__PyAnnoteFeatureExtractor, __webpack_exports__PyAnnoteForAudioFrameClassification, __webpack_exports__PyAnnoteModel, __webpack_exports__PyAnnotePreTrainedModel, __webpack_exports__PyAnnoteProcessor, __webpack_exports__QuestionAnsweringModelOutput, __webpack_exports__QuestionAnsweringPipeline, __webpack_exports__Qwen2ForCausalLM, __webpack_exports__Qwen2Model, __webpack_exports__Qwen2PreTrainedModel, __webpack_exports__Qwen2Tokenizer, __webpack_exports__Qwen2VLForConditionalGeneration, __webpack_exports__Qwen2VLImageProcessor, __webpack_exports__Qwen2VLPreTrainedModel, __webpack_exports__Qwen2VLProcessor, __webpack_exports__Qwen3ForCausalLM, __webpack_exports__Qwen3Model, __webpack_exports__Qwen3PreTrainedModel, __webpack_exports__RFDetrForObjectDetection, __webpack_exports__RFDetrModel, __webpack_exports__RFDetrObjectDetectionOutput, __webpack_exports__RFDetrPreTrainedModel, __webpack_exports__RTDetrForObjectDetection, __webpack_exports__RTDetrImageProcessor, __webpack_exports__RTDetrModel, __webpack_exports__RTDetrObjectDetectionOutput, __webpack_exports__RTDetrPreTrainedModel, __webpack_exports__RTDetrV2ForObjectDetection, __webpack_exports__RTDetrV2Model, __webpack_exports__RTDetrV2ObjectDetectionOutput, __webpack_exports__RTDetrV2PreTrainedModel, __webpack_exports__RawAudio, __webpack_exports__RawImage, __webpack_exports__RawVideo, __webpack_exports__RawVideoFrame, __webpack_exports__RepetitionPenaltyLogitsProcessor, __webpack_exports__ResNetForImageClassification, __webpack_exports__ResNetModel, __webpack_exports__ResNetPreTrainedModel, __webpack_exports__RoFormerForMaskedLM, __webpack_exports__RoFormerForQuestionAnswering, __webpack_exports__RoFormerForSequenceClassification, __webpack_exports__RoFormerForTokenClassification, __webpack_exports__RoFormerModel, __webpack_exports__RoFormerPreTrainedModel, __webpack_exports__RoFormerTokenizer, __webpack_exports__RobertaForMaskedLM, __webpack_exports__RobertaForQuestionAnswering, __webpack_exports__RobertaForSequenceClassification, __webpack_exports__RobertaForTokenClassification, __webpack_exports__RobertaModel, __webpack_exports__RobertaPreTrainedModel, __webpack_exports__RobertaTokenizer, __webpack_exports__Sam2ImageProcessor, __webpack_exports__Sam2ImageSegmentationOutput, __webpack_exports__Sam2Model, __webpack_exports__Sam2PreTrainedModel, __webpack_exports__Sam2Processor, __webpack_exports__Sam2VideoProcessor, __webpack_exports__Sam3ImageProcessor, __webpack_exports__Sam3TrackerModel, __webpack_exports__SamImageProcessor, __webpack_exports__SamImageSegmentationOutput, __webpack_exports__SamModel, __webpack_exports__SamPreTrainedModel, __webpack_exports__SamProcessor, __webpack_exports__SapiensForDepthEstimation, __webpack_exports__SapiensForNormalEstimation, __webpack_exports__SapiensForSemanticSegmentation, __webpack_exports__SapiensPreTrainedModel, __webpack_exports__SeamlessM4TFeatureExtractor, __webpack_exports__SegformerFeatureExtractor, __webpack_exports__SegformerForImageClassification, __webpack_exports__SegformerForSemanticSegmentation, __webpack_exports__SegformerImageProcessor, __webpack_exports__SegformerModel, __webpack_exports__SegformerPreTrainedModel, __webpack_exports__Seq2SeqLMOutput, __webpack_exports__SequenceClassifierOutput, __webpack_exports__SiglipImageProcessor, __webpack_exports__SiglipModel, __webpack_exports__SiglipPreTrainedModel, __webpack_exports__SiglipTextModel, __webpack_exports__SiglipTokenizer, __webpack_exports__SiglipVisionModel, __webpack_exports__SmolLM3ForCausalLM, __webpack_exports__SmolLM3Model, __webpack_exports__SmolLM3PreTrainedModel, __webpack_exports__SmolVLMForConditionalGeneration, __webpack_exports__SmolVLMImageProcessor, __webpack_exports__SmolVLMProcessor, __webpack_exports__SnacDecoderModel, __webpack_exports__SnacEncoderModel, __webpack_exports__SnacFeatureExtractor, __webpack_exports__SnacModel, __webpack_exports__SnacPreTrainedModel, __webpack_exports__SpeechT5FeatureExtractor, __webpack_exports__SpeechT5ForSpeechToText, __webpack_exports__SpeechT5ForTextToSpeech, __webpack_exports__SpeechT5HifiGan, __webpack_exports__SpeechT5Model, __webpack_exports__SpeechT5PreTrainedModel, __webpack_exports__SpeechT5Processor, __webpack_exports__SpeechT5Tokenizer, __webpack_exports__SqueezeBertForMaskedLM, __webpack_exports__SqueezeBertForQuestionAnswering, __webpack_exports__SqueezeBertForSequenceClassification, __webpack_exports__SqueezeBertModel, __webpack_exports__SqueezeBertPreTrainedModel, __webpack_exports__SqueezeBertTokenizer, __webpack_exports__StableLmForCausalLM, __webpack_exports__StableLmModel, __webpack_exports__StableLmPreTrainedModel, __webpack_exports__Starcoder2ForCausalLM, __webpack_exports__Starcoder2Model, __webpack_exports__Starcoder2PreTrainedModel, __webpack_exports__StoppingCriteria, __webpack_exports__StoppingCriteriaList, __webpack_exports__StyleTextToSpeech2Model, __webpack_exports__StyleTextToSpeech2PreTrainedModel, __webpack_exports__SummarizationPipeline, __webpack_exports__SupertonicForConditionalGeneration, __webpack_exports__SupertonicPreTrainedModel, __webpack_exports__SuppressTokensAtBeginLogitsProcessor, __webpack_exports__Swin2SRForImageSuperResolution, __webpack_exports__Swin2SRImageProcessor, __webpack_exports__Swin2SRModel, __webpack_exports__Swin2SRPreTrainedModel, __webpack_exports__SwinForImageClassification, __webpack_exports__SwinForSemanticSegmentation, __webpack_exports__SwinModel, __webpack_exports__SwinPreTrainedModel, __webpack_exports__T5ForConditionalGeneration, __webpack_exports__T5Model, __webpack_exports__T5PreTrainedModel, __webpack_exports__T5Tokenizer, __webpack_exports__TableTransformerForObjectDetection, __webpack_exports__TableTransformerModel, __webpack_exports__TableTransformerObjectDetectionOutput, __webpack_exports__TableTransformerPreTrainedModel, __webpack_exports__TemperatureLogitsWarper, __webpack_exports__Tensor, __webpack_exports__Text2TextGenerationPipeline, __webpack_exports__TextClassificationPipeline, __webpack_exports__TextGenerationPipeline, __webpack_exports__TextStreamer, __webpack_exports__TextToAudioPipeline, __webpack_exports__TokenClassificationPipeline, __webpack_exports__TokenClassifierOutput, __webpack_exports__TokenizerModel, __webpack_exports__TopKLogitsWarper, __webpack_exports__TopPLogitsWarper, __webpack_exports__TrOCRForCausalLM, __webpack_exports__TrOCRPreTrainedModel, __webpack_exports__TranslationPipeline, __webpack_exports__UltravoxModel, __webpack_exports__UltravoxPreTrainedModel, __webpack_exports__UltravoxProcessor, __webpack_exports__UniSpeechForCTC, __webpack_exports__UniSpeechForSequenceClassification, __webpack_exports__UniSpeechModel, __webpack_exports__UniSpeechPreTrainedModel, __webpack_exports__UniSpeechSatForAudioFrameClassification, __webpack_exports__UniSpeechSatForCTC, __webpack_exports__UniSpeechSatForSequenceClassification, __webpack_exports__UniSpeechSatModel, __webpack_exports__UniSpeechSatPreTrainedModel, __webpack_exports__VLChatProcessor, __webpack_exports__VLMImageProcessor, __webpack_exports__VaultGemmaForCausalLM, __webpack_exports__VaultGemmaModel, __webpack_exports__VaultGemmaPreTrainedModel, __webpack_exports__ViTFeatureExtractor, __webpack_exports__ViTForImageClassification, __webpack_exports__ViTImageProcessor, __webpack_exports__ViTMAEModel, __webpack_exports__ViTMAEPreTrainedModel, __webpack_exports__ViTMSNForImageClassification, __webpack_exports__ViTMSNModel, __webpack_exports__ViTMSNPreTrainedModel, __webpack_exports__ViTModel, __webpack_exports__ViTPreTrainedModel, __webpack_exports__VisionEncoderDecoderModel, __webpack_exports__VitMatteForImageMatting, __webpack_exports__VitMatteImageProcessor, __webpack_exports__VitMattePreTrainedModel, __webpack_exports__VitPoseForPoseEstimation, __webpack_exports__VitPoseImageProcessor, __webpack_exports__VitPosePreTrainedModel, __webpack_exports__VitsModel, __webpack_exports__VitsModelOutput, __webpack_exports__VitsPreTrainedModel, __webpack_exports__VitsTokenizer, __webpack_exports__VoxtralForConditionalGeneration, __webpack_exports__VoxtralProcessor, __webpack_exports__Wav2Vec2BertForCTC, __webpack_exports__Wav2Vec2BertForSequenceClassification, __webpack_exports__Wav2Vec2BertModel, __webpack_exports__Wav2Vec2BertPreTrainedModel, __webpack_exports__Wav2Vec2CTCTokenizer, __webpack_exports__Wav2Vec2FeatureExtractor, __webpack_exports__Wav2Vec2ForAudioFrameClassification, __webpack_exports__Wav2Vec2ForCTC, __webpack_exports__Wav2Vec2ForSequenceClassification, __webpack_exports__Wav2Vec2Model, __webpack_exports__Wav2Vec2PreTrainedModel, __webpack_exports__Wav2Vec2Processor, __webpack_exports__Wav2Vec2ProcessorWithLM, __webpack_exports__WavLMForAudioFrameClassification, __webpack_exports__WavLMForCTC, __webpack_exports__WavLMForSequenceClassification, __webpack_exports__WavLMForXVector, __webpack_exports__WavLMModel, __webpack_exports__WavLMPreTrainedModel, __webpack_exports__WeSpeakerFeatureExtractor, __webpack_exports__WeSpeakerResNetModel, __webpack_exports__WeSpeakerResNetPreTrainedModel, __webpack_exports__WhisperFeatureExtractor, __webpack_exports__WhisperForConditionalGeneration, __webpack_exports__WhisperModel, __webpack_exports__WhisperPreTrainedModel, __webpack_exports__WhisperProcessor, __webpack_exports__WhisperTextStreamer, __webpack_exports__WhisperTimeStampLogitsProcessor, __webpack_exports__WhisperTokenizer, __webpack_exports__XLMForQuestionAnswering, __webpack_exports__XLMForSequenceClassification, __webpack_exports__XLMForTokenClassification, __webpack_exports__XLMModel, __webpack_exports__XLMPreTrainedModel, __webpack_exports__XLMRobertaForMaskedLM, __webpack_exports__XLMRobertaForQuestionAnswering, __webpack_exports__XLMRobertaForSequenceClassification, __webpack_exports__XLMRobertaForTokenClassification, __webpack_exports__XLMRobertaModel, __webpack_exports__XLMRobertaPreTrainedModel, __webpack_exports__XLMRobertaTokenizer, __webpack_exports__XLMTokenizer, __webpack_exports__XLMWithLMHeadModel, __webpack_exports__XVectorOutput, __webpack_exports__YolosFeatureExtractor, __webpack_exports__YolosForObjectDetection, __webpack_exports__YolosImageProcessor, __webpack_exports__YolosModel, __webpack_exports__YolosObjectDetectionOutput, __webpack_exports__YolosPreTrainedModel, __webpack_exports__ZeroShotAudioClassificationPipeline, __webpack_exports__ZeroShotClassificationPipeline, __webpack_exports__ZeroShotImageClassificationPipeline, __webpack_exports__ZeroShotObjectDetectionPipeline, __webpack_exports__bankers_round, __webpack_exports__cat, __webpack_exports__cos_sim, __webpack_exports__dot, __webpack_exports__dynamic_time_warping, __webpack_exports__env, __webpack_exports__full, __webpack_exports__full_like, __webpack_exports__getCacheShapes, __webpack_exports__hamming, __webpack_exports__hanning, __webpack_exports__interpolate, __webpack_exports__interpolate_4d, __webpack_exports__interpolate_data, __webpack_exports__is_chinese_char, __webpack_exports__layer_norm, __webpack_exports__load_image, __webpack_exports__load_video, __webpack_exports__log_softmax, __webpack_exports__magnitude, __webpack_exports__matmul, __webpack_exports__max, __webpack_exports__mean, __webpack_exports__mean_pooling, __webpack_exports__medianFilter, __webpack_exports__mel_filter_bank, __webpack_exports__min, __webpack_exports__ones, __webpack_exports__ones_like, __webpack_exports__permute, __webpack_exports__permute_data, __webpack_exports__pipeline, __webpack_exports__quantize_embeddings, __webpack_exports__rand, __webpack_exports__randn, __webpack_exports__read_audio, __webpack_exports__rfft, __webpack_exports__round, __webpack_exports__slice, __webpack_exports__softmax, __webpack_exports__spectrogram, __webpack_exports__stack, __webpack_exports__std_mean, __webpack_exports__topk, __webpack_exports__window_function, __webpack_exports__zeros, __webpack_exports__zeros_like;
9845
9845
  var init_transformers_node = __esm(() => {
9846
9846
  init_esm();
9847
9847
  __WEBPACK_EXTERNAL_MODULE_onnxruntime_node_6a60201e__ = __toESM(require_dist(), 1);
@@ -9897,7 +9897,7 @@ var init_transformers_node = __esm(() => {
9897
9897
  Environment: () => Environment,
9898
9898
  Interpreter: () => Interpreter,
9899
9899
  Template: () => Template,
9900
- parse: () => parse9,
9900
+ parse: () => parse10,
9901
9901
  tokenize: () => tokenize
9902
9902
  });
9903
9903
  var TOKEN_TYPES = Object.freeze({
@@ -10371,7 +10371,7 @@ var init_transformers_node = __esm(() => {
10371
10371
  }
10372
10372
  type = "Ternary";
10373
10373
  };
10374
- function parse9(tokens) {
10374
+ function parse10(tokens) {
10375
10375
  const program = new Program([]);
10376
10376
  let current = 0;
10377
10377
  function expect(type, error92) {
@@ -10894,14 +10894,14 @@ var init_transformers_node = __esm(() => {
10894
10894
  function titleCase(value) {
10895
10895
  return value.replace(/\b\w/g, (c) => c.toUpperCase());
10896
10896
  }
10897
- function strftime_now(format2) {
10898
- return strftime(/* @__PURE__ */ new Date, format2);
10897
+ function strftime_now(format22) {
10898
+ return strftime(/* @__PURE__ */ new Date, format22);
10899
10899
  }
10900
- function strftime(date9, format2) {
10900
+ function strftime(date9, format22) {
10901
10901
  const monthFormatterLong = new Intl.DateTimeFormat(undefined, { month: "long" });
10902
10902
  const monthFormatterShort = new Intl.DateTimeFormat(undefined, { month: "short" });
10903
10903
  const pad2 = (n) => n < 10 ? "0" + n : n.toString();
10904
- return format2.replace(/%[YmdbBHM%]/g, (token) => {
10904
+ return format22.replace(/%[YmdbBHM%]/g, (token) => {
10905
10905
  switch (token) {
10906
10906
  case "%Y":
10907
10907
  return date9.getFullYear().toString();
@@ -12258,7 +12258,7 @@ var init_transformers_node = __esm(() => {
12258
12258
  }
12259
12259
  return 0;
12260
12260
  }
12261
- function format(program, indent = "\t") {
12261
+ function format2(program, indent = "\t") {
12262
12262
  const indentStr = typeof indent === "number" ? " ".repeat(indent) : indent;
12263
12263
  const body = formatStatements(program.body, 0, indentStr);
12264
12264
  return body.replace(/\n$/, "");
@@ -12473,7 +12473,7 @@ var init_transformers_node = __esm(() => {
12473
12473
  lstrip_blocks: true,
12474
12474
  trim_blocks: true
12475
12475
  });
12476
- this.parsed = parse9(tokens);
12476
+ this.parsed = parse10(tokens);
12477
12477
  }
12478
12478
  render(items) {
12479
12479
  const env4 = new Environment;
@@ -12488,7 +12488,7 @@ var init_transformers_node = __esm(() => {
12488
12488
  return result.value;
12489
12489
  }
12490
12490
  format(options) {
12491
- return format(this.parsed, options?.indent || "\t");
12491
+ return format2(this.parsed, options?.indent || "\t");
12492
12492
  }
12493
12493
  };
12494
12494
  },
@@ -21803,11 +21803,11 @@ ${fake_token_around_image}` + `${global_img_token}` + image_token.repeat(image_s
21803
21803
  get wp_tokenizer() {
21804
21804
  return this.components.wp_tokenizer;
21805
21805
  }
21806
- _decode_helper(pred_logits, format) {
21807
- if (!DECODE_TYPE_MAPPING.hasOwnProperty(format)) {
21808
- throw new Error(`Format ${format} is not supported.`);
21806
+ _decode_helper(pred_logits, format2) {
21807
+ if (!DECODE_TYPE_MAPPING.hasOwnProperty(format2)) {
21808
+ throw new Error(`Format ${format2} is not supported.`);
21809
21809
  }
21810
- const [decoder_name, eos_token] = DECODE_TYPE_MAPPING[format];
21810
+ const [decoder_name, eos_token] = DECODE_TYPE_MAPPING[format2];
21811
21811
  const decoder = this[decoder_name].bind(this);
21812
21812
  const [batch_size, batch_max_length] = pred_logits.dims;
21813
21813
  const conf_scores = [];
@@ -60347,6 +60347,170 @@ function tool(input) {
60347
60347
  }
60348
60348
  tool.schema = exports_external2;
60349
60349
 
60350
+ // src/features/team/registry.ts
60351
+ import {
60352
+ closeSync,
60353
+ existsSync as existsSync6,
60354
+ mkdirSync as mkdirSync3,
60355
+ openSync,
60356
+ readFileSync as readFileSync5,
60357
+ renameSync as renameSync2,
60358
+ unlinkSync as unlinkSync2,
60359
+ writeFileSync as writeFileSync2
60360
+ } from "fs";
60361
+ import { join as join6 } from "path";
60362
+ var REGISTRY_VERSION = 1;
60363
+ var REGISTRY_DIR = "team";
60364
+ var REGISTRY_FILE = "registry.json";
60365
+ var LOCK_FILE = "registry.lock";
60366
+ var DEFAULT_LOCK_TIMEOUT_MS = 2000;
60367
+ var DEFAULT_RETRY_DELAY_MS = 25;
60368
+ function getRegistryPaths(projectDir) {
60369
+ const goopspecDir = getProjectGoopspecDir(projectDir);
60370
+ const teamDir = join6(goopspecDir, REGISTRY_DIR);
60371
+ return {
60372
+ teamDir,
60373
+ registryPath: join6(teamDir, REGISTRY_FILE),
60374
+ lockPath: join6(teamDir, LOCK_FILE)
60375
+ };
60376
+ }
60377
+ function ensureTeamDir(teamDir) {
60378
+ if (!existsSync6(teamDir)) {
60379
+ mkdirSync3(teamDir, { recursive: true });
60380
+ }
60381
+ }
60382
+ function sleep(ms) {
60383
+ return new Promise((resolve2) => setTimeout(resolve2, ms));
60384
+ }
60385
+ function atomicWriteFile2(path2, content) {
60386
+ const tempPath = `${path2}.tmp.${Date.now()}`;
60387
+ writeFileSync2(tempPath, content, "utf-8");
60388
+ renameSync2(tempPath, path2);
60389
+ }
60390
+ function safeReadFile2(path2) {
60391
+ try {
60392
+ if (!existsSync6(path2)) {
60393
+ return null;
60394
+ }
60395
+ return readFileSync5(path2, "utf-8");
60396
+ } catch (error92) {
60397
+ logError(`Failed to read registry file: ${path2}`, error92);
60398
+ return null;
60399
+ }
60400
+ }
60401
+ function createDefaultRegistry() {
60402
+ return {
60403
+ version: REGISTRY_VERSION,
60404
+ agents: {}
60405
+ };
60406
+ }
60407
+ function normalizeRegistry(raw) {
60408
+ if (!raw || typeof raw !== "object") {
60409
+ return createDefaultRegistry();
60410
+ }
60411
+ const parsed = raw;
60412
+ const version3 = typeof parsed.version === "number" ? parsed.version : REGISTRY_VERSION;
60413
+ const agents = parsed.agents && typeof parsed.agents === "object" ? parsed.agents : {};
60414
+ return { version: version3, agents };
60415
+ }
60416
+ function readRegistry(projectDir) {
60417
+ const { registryPath } = getRegistryPaths(projectDir);
60418
+ const content = safeReadFile2(registryPath);
60419
+ if (!content) {
60420
+ return createDefaultRegistry();
60421
+ }
60422
+ try {
60423
+ const parsed = JSON.parse(content);
60424
+ return normalizeRegistry(parsed);
60425
+ } catch (error92) {
60426
+ logError("Failed to parse registry file, using default", error92);
60427
+ return createDefaultRegistry();
60428
+ }
60429
+ }
60430
+ function writeRegistry(projectDir, registry3) {
60431
+ const { teamDir, registryPath } = getRegistryPaths(projectDir);
60432
+ ensureTeamDir(teamDir);
60433
+ atomicWriteFile2(registryPath, JSON.stringify(registry3, null, 2));
60434
+ }
60435
+ async function acquireLock(lockPath, timeoutMs) {
60436
+ const start = Date.now();
60437
+ while (true) {
60438
+ try {
60439
+ return openSync(lockPath, "wx");
60440
+ } catch (error92) {
60441
+ const code = error92 instanceof Error && "code" in error92 ? String(error92.code) : "";
60442
+ if (code !== "EEXIST") {
60443
+ throw error92;
60444
+ }
60445
+ if (Date.now() - start >= timeoutMs) {
60446
+ throw new Error(`Timeout acquiring registry lock at ${lockPath}`);
60447
+ }
60448
+ await sleep(DEFAULT_RETRY_DELAY_MS);
60449
+ }
60450
+ }
60451
+ }
60452
+ function releaseLock(lockPath, fd) {
60453
+ if (fd !== null) {
60454
+ try {
60455
+ closeSync(fd);
60456
+ } catch (error92) {
60457
+ logError(`Failed to close registry lock file: ${lockPath}`, error92);
60458
+ }
60459
+ try {
60460
+ if (existsSync6(lockPath)) {
60461
+ unlinkSync2(lockPath);
60462
+ }
60463
+ } catch (error92) {
60464
+ logError(`Failed to release registry lock: ${lockPath}`, error92);
60465
+ }
60466
+ }
60467
+ }
60468
+ async function withRegistryLock(projectDir, operation, timeoutMs = DEFAULT_LOCK_TIMEOUT_MS) {
60469
+ const { teamDir, lockPath } = getRegistryPaths(projectDir);
60470
+ ensureTeamDir(teamDir);
60471
+ let fd = null;
60472
+ try {
60473
+ fd = await acquireLock(lockPath, timeoutMs);
60474
+ return await operation();
60475
+ } finally {
60476
+ releaseLock(lockPath, fd);
60477
+ }
60478
+ }
60479
+ function getProjectDir() {
60480
+ return process.cwd();
60481
+ }
60482
+ async function getRegistry() {
60483
+ return readRegistry(getProjectDir());
60484
+ }
60485
+ async function registerAgent(registration) {
60486
+ try {
60487
+ const projectDir = getProjectDir();
60488
+ return await withRegistryLock(projectDir, () => {
60489
+ const registry3 = readRegistry(projectDir);
60490
+ const entry = {
60491
+ ...registration,
60492
+ startedAt: registration.startedAt || Date.now()
60493
+ };
60494
+ const updated = {
60495
+ ...registry3,
60496
+ agents: {
60497
+ ...registry3.agents,
60498
+ [entry.id]: entry
60499
+ }
60500
+ };
60501
+ writeRegistry(projectDir, updated);
60502
+ return { ok: true, registry: updated };
60503
+ });
60504
+ } catch (error92) {
60505
+ logError("Failed to register agent", error92);
60506
+ return { ok: false, error: error92 instanceof Error ? error92.message : String(error92) };
60507
+ }
60508
+ }
60509
+ async function getActiveAgents() {
60510
+ const registry3 = await getRegistry();
60511
+ return Object.values(registry3.agents);
60512
+ }
60513
+
60350
60514
  // src/tools/goop-status/index.ts
60351
60515
  function generateProgressBar(progress, width = 10) {
60352
60516
  const filled = Math.round(progress * width);
@@ -60429,7 +60593,7 @@ function formatNextSteps(guidance) {
60429
60593
  }
60430
60594
  return lines;
60431
60595
  }
60432
- function formatStatus(state, verbose, ctx) {
60596
+ async function formatStatus(state, verbose, ctx) {
60433
60597
  const lines = [];
60434
60598
  if (!state) {
60435
60599
  lines.push("## \uD83D\uDD2E GoopSpec \xB7 Status");
@@ -60516,6 +60680,17 @@ function formatStatus(state, verbose, ctx) {
60516
60680
  lines.push(`- ${statusIcon} ${task.name} (${task.phase}/${task.plan})`);
60517
60681
  }
60518
60682
  }
60683
+ const activeAgents = await getActiveAgents();
60684
+ if (activeAgents.length > 0) {
60685
+ lines.push(`
60686
+ ## Active Agents`);
60687
+ for (const agent of activeAgents) {
60688
+ const taskSummary = agent.task?.trim() || "No task specified";
60689
+ const claimedFiles = agent.claimedFiles.length > 0 ? agent.claimedFiles.join(", ") : "None";
60690
+ lines.push(`- **${agent.type}** \u2014 ${taskSummary}`);
60691
+ lines.push(` **Claimed Files:** ${claimedFiles}`);
60692
+ }
60693
+ }
60519
60694
  if (verbose && ctx.memoryManager) {
60520
60695
  lines.push(`
60521
60696
  ## Recent Memory`);
@@ -60539,7 +60714,7 @@ function createGoopStatusTool(ctx) {
60539
60714
  },
60540
60715
  async execute(args, _context) {
60541
60716
  const state = ctx.stateManager.getState();
60542
- return formatStatus(state, args.verbose ?? false, ctx);
60717
+ return await formatStatus(state, args.verbose ?? false, ctx);
60543
60718
  }
60544
60719
  });
60545
60720
  }
@@ -60578,8 +60753,8 @@ function createGoopAdlTool(ctx) {
60578
60753
  }
60579
60754
 
60580
60755
  // src/tools/goop-spec/index.ts
60581
- import { existsSync as existsSync6, readFileSync as readFileSync5, readdirSync as readdirSync3 } from "fs";
60582
- import { join as join6, basename as basename2 } from "path";
60756
+ import { existsSync as existsSync7, readFileSync as readFileSync6, readdirSync as readdirSync3 } from "fs";
60757
+ import { join as join7, basename as basename2 } from "path";
60583
60758
  function sanitizePhaseName(phase) {
60584
60759
  if (phase.includes("..") || phase.includes("/") || phase.includes("\\")) {
60585
60760
  return { valid: false, sanitized: "", error: "Invalid phase name: path traversal not allowed" };
@@ -60594,8 +60769,8 @@ function sanitizePhaseName(phase) {
60594
60769
  return { valid: true, sanitized };
60595
60770
  }
60596
60771
  function listPhases(goopspecDir) {
60597
- const phasesDir = join6(goopspecDir, "phases");
60598
- if (!existsSync6(phasesDir)) {
60772
+ const phasesDir = join7(goopspecDir, "phases");
60773
+ if (!existsSync7(phasesDir)) {
60599
60774
  return "No phases found. Use /goop-plan to create a phase.";
60600
60775
  }
60601
60776
  const phases = readdirSync3(phasesDir, { withFileTypes: true }).filter((d) => d.isDirectory()).map((d) => d.name);
@@ -60605,24 +60780,24 @@ function listPhases(goopspecDir) {
60605
60780
  const lines = [`# Available Phases
60606
60781
  `];
60607
60782
  for (const phase of phases) {
60608
- const phaseDir = join6(phasesDir, phase);
60609
- const hasSpec = existsSync6(join6(phaseDir, "SPEC.md"));
60610
- const hasPlan = existsSync6(join6(phaseDir, "PLAN.md"));
60783
+ const phaseDir = join7(phasesDir, phase);
60784
+ const hasSpec = existsSync7(join7(phaseDir, "SPEC.md"));
60785
+ const hasPlan = existsSync7(join7(phaseDir, "PLAN.md"));
60611
60786
  lines.push(`- **${phase}**: ${hasSpec ? "SPEC" : ""} ${hasPlan ? "PLAN" : ""}`);
60612
60787
  }
60613
60788
  return lines.join(`
60614
60789
  `);
60615
60790
  }
60616
60791
  function readPhaseFiles(goopspecDir, phase, file3) {
60617
- const phaseDir = join6(goopspecDir, "phases", phase);
60618
- if (!existsSync6(phaseDir)) {
60792
+ const phaseDir = join7(goopspecDir, "phases", phase);
60793
+ if (!existsSync7(phaseDir)) {
60619
60794
  return `Phase "${phase}" not found. Use 'list' to see available phases.`;
60620
60795
  }
60621
60796
  const output = [];
60622
60797
  if (file3 === "spec" || file3 === "both") {
60623
- const specPath = join6(phaseDir, "SPEC.md");
60624
- if (existsSync6(specPath)) {
60625
- const content = readFileSync5(specPath, "utf-8");
60798
+ const specPath = join7(phaseDir, "SPEC.md");
60799
+ if (existsSync7(specPath)) {
60800
+ const content = readFileSync6(specPath, "utf-8");
60626
60801
  output.push(`# SPEC.md
60627
60802
  `);
60628
60803
  output.push(content);
@@ -60631,9 +60806,9 @@ function readPhaseFiles(goopspecDir, phase, file3) {
60631
60806
  }
60632
60807
  }
60633
60808
  if (file3 === "plan" || file3 === "both") {
60634
- const planPath = join6(phaseDir, "PLAN.md");
60635
- if (existsSync6(planPath)) {
60636
- const content = readFileSync5(planPath, "utf-8");
60809
+ const planPath = join7(phaseDir, "PLAN.md");
60810
+ if (existsSync7(planPath)) {
60811
+ const content = readFileSync6(planPath, "utf-8");
60637
60812
  if (output.length > 0)
60638
60813
  output.push(`
60639
60814
  ---
@@ -60649,16 +60824,16 @@ function readPhaseFiles(goopspecDir, phase, file3) {
60649
60824
  `);
60650
60825
  }
60651
60826
  function validatePhaseFiles(goopspecDir, phase) {
60652
- const phaseDir = join6(goopspecDir, "phases", phase);
60653
- if (!existsSync6(phaseDir)) {
60827
+ const phaseDir = join7(goopspecDir, "phases", phase);
60828
+ if (!existsSync7(phaseDir)) {
60654
60829
  return `Phase "${phase}" not found.`;
60655
60830
  }
60656
60831
  const issues = [];
60657
60832
  const lines = [`# Validation for Phase: ${phase}
60658
60833
  `];
60659
- const specPath = join6(phaseDir, "SPEC.md");
60660
- if (existsSync6(specPath)) {
60661
- const content = readFileSync5(specPath, "utf-8");
60834
+ const specPath = join7(phaseDir, "SPEC.md");
60835
+ if (existsSync7(specPath)) {
60836
+ const content = readFileSync6(specPath, "utf-8");
60662
60837
  const { data } = parseFrontmatter(content);
60663
60838
  if (!data.phase)
60664
60839
  issues.push("SPEC.md: Missing 'phase' in frontmatter");
@@ -60674,9 +60849,9 @@ function validatePhaseFiles(goopspecDir, phase) {
60674
60849
  issues.push("SPEC.md not found");
60675
60850
  lines.push("## SPEC.md: NOT FOUND");
60676
60851
  }
60677
- const planPath = join6(phaseDir, "PLAN.md");
60678
- if (existsSync6(planPath)) {
60679
- const content = readFileSync5(planPath, "utf-8");
60852
+ const planPath = join7(phaseDir, "PLAN.md");
60853
+ if (existsSync7(planPath)) {
60854
+ const content = readFileSync6(planPath, "utf-8");
60680
60855
  const { data, body } = parseFrontmatter(content);
60681
60856
  if (!data.phase)
60682
60857
  issues.push("PLAN.md: Missing 'phase' in frontmatter");
@@ -60873,10 +61048,39 @@ Available skills: ${available.join(", ")}`;
60873
61048
  }
60874
61049
  });
60875
61050
  }
61051
+
61052
+ // src/agents/prompt-sections/team-awareness.ts
61053
+ function generateTeamAwarenessSection(context = {}) {
61054
+ const siblingSection = buildSiblingSection(context.siblings);
61055
+ return `<Team_Awareness>
61056
+ ## Team Awareness
61057
+
61058
+ You may be running in parallel with sibling agents. Coordinate to avoid conflicts.
61059
+
61060
+ - Use per-agent output files: \`{basename}-{shortId}.{ext}\` (e.g., \`RESEARCH-a1b2c3.md\`)
61061
+ - Check \`.goopspec/team/registry.json\` for active agents and claimed files
61062
+ - If a file is claimed, write to your per-agent file and let the orchestrator merge
61063
+ ${siblingSection}
61064
+ </Team_Awareness>`;
61065
+ }
61066
+ function buildSiblingSection(siblings) {
61067
+ if (!siblings || siblings.length === 0) {
61068
+ return "";
61069
+ }
61070
+ const lines = siblings.map((sibling) => {
61071
+ const details = [sibling.type, sibling.task].filter(Boolean).join(" \u2014 ");
61072
+ return details ? `- \`${sibling.id}\` (${details})` : `- \`${sibling.id}\``;
61073
+ });
61074
+ return `
61075
+ ### Active Siblings
61076
+ ${lines.join(`
61077
+ `)}
61078
+ `;
61079
+ }
60876
61080
  // node_modules/@opencode-ai/sdk/dist/gen/core/serverSentEvents.gen.js
60877
61081
  var createSseClient = ({ onSseError, onSseEvent, responseTransformer, responseValidator, sseDefaultRetryDelay, sseMaxRetryAttempts, sseMaxRetryDelay, sseSleepFn, url: url3, ...options }) => {
60878
61082
  let lastEventId;
60879
- const sleep = sseSleepFn ?? ((ms) => new Promise((resolve2) => setTimeout(resolve2, ms)));
61083
+ const sleep2 = sseSleepFn ?? ((ms) => new Promise((resolve2) => setTimeout(resolve2, ms)));
60880
61084
  const createStream = async function* () {
60881
61085
  let retryDelay = sseDefaultRetryDelay ?? 3000;
60882
61086
  let attempt = 0;
@@ -60974,7 +61178,7 @@ var createSseClient = ({ onSseError, onSseEvent, responseTransformer, responseVa
60974
61178
  break;
60975
61179
  }
60976
61180
  const backoff = Math.min(retryDelay * 2 ** (attempt - 1), sseMaxRetryDelay ?? 30000);
60977
- await sleep(backoff);
61181
+ await sleep2(backoff);
60978
61182
  }
60979
61183
  }
60980
61184
  };
@@ -62320,7 +62524,94 @@ async function fetchAvailableAgents(client3) {
62320
62524
  return [];
62321
62525
  }
62322
62526
  }
62323
-
62527
+ // src/features/team/file-patterns.ts
62528
+ import { format, join as join8, parse as parse9 } from "path";
62529
+ var SHORT_ID_MIN_LENGTH = 6;
62530
+ var SHORT_ID_MAX_LENGTH = 8;
62531
+ var DEFAULT_SHORT_ID_LENGTH = 7;
62532
+ var SHORT_ID_RANGE_PATTERN = `[a-zA-Z0-9]{${SHORT_ID_MIN_LENGTH},${SHORT_ID_MAX_LENGTH}}`;
62533
+ var clampShortIdLength = (length) => {
62534
+ if (Number.isNaN(length)) {
62535
+ return DEFAULT_SHORT_ID_LENGTH;
62536
+ }
62537
+ return Math.min(SHORT_ID_MAX_LENGTH, Math.max(SHORT_ID_MIN_LENGTH, Math.trunc(length)));
62538
+ };
62539
+ var normalizeAgentId = (agentId) => {
62540
+ return agentId.replace(/[^a-zA-Z0-9]/g, "");
62541
+ };
62542
+ var toShortId = (agentId, length) => {
62543
+ const normalized = normalizeAgentId(agentId);
62544
+ if (!normalized) {
62545
+ return "";
62546
+ }
62547
+ const boundedLength = clampShortIdLength(length);
62548
+ return normalized.slice(0, Math.min(boundedLength, normalized.length));
62549
+ };
62550
+ var generateAgentFilePath = (basePath, agentId, shortIdLength = DEFAULT_SHORT_ID_LENGTH) => {
62551
+ const parsed = parse9(basePath);
62552
+ const shortId = toShortId(agentId, shortIdLength);
62553
+ const name = shortId ? `${parsed.name}-${shortId}` : parsed.name;
62554
+ return format({
62555
+ dir: parsed.dir,
62556
+ name,
62557
+ ext: parsed.ext
62558
+ });
62559
+ };
62560
+ // src/features/team/conflict.ts
62561
+ var buildConflictInfo = (agentId, agent, suggestedPath) => {
62562
+ const claimedBy = {
62563
+ agentId,
62564
+ agentType: agent.type,
62565
+ task: agent.task
62566
+ };
62567
+ const conflict = {
62568
+ hasConflict: true,
62569
+ claimedBy,
62570
+ suggestedPath
62571
+ };
62572
+ return {
62573
+ ...conflict,
62574
+ warningMessage: generateConflictWarning(conflict)
62575
+ };
62576
+ };
62577
+ async function checkFileConflict(filePath, requestingAgentId) {
62578
+ const registry3 = await getRegistry();
62579
+ for (const [agentId, agent] of Object.entries(registry3.agents)) {
62580
+ if (!agent.claimedFiles?.includes(filePath)) {
62581
+ continue;
62582
+ }
62583
+ if (agentId === requestingAgentId) {
62584
+ return { hasConflict: false };
62585
+ }
62586
+ const suggestedPath = suggestAgentFilePath(filePath, requestingAgentId);
62587
+ return buildConflictInfo(agentId, agent, suggestedPath);
62588
+ }
62589
+ return { hasConflict: false };
62590
+ }
62591
+ function suggestAgentFilePath(filePath, agentId) {
62592
+ return generateAgentFilePath(filePath, agentId);
62593
+ }
62594
+ function generateConflictWarning(conflict) {
62595
+ if (!conflict.hasConflict || !conflict.claimedBy) {
62596
+ return "";
62597
+ }
62598
+ const { agentId, agentType, task } = conflict.claimedBy;
62599
+ const suggestedPath = conflict.suggestedPath ?? "";
62600
+ const lines = [
62601
+ "WARNING: File Conflict Detected",
62602
+ "",
62603
+ "The file you're trying to write is claimed by another agent:",
62604
+ `- Agent: ${agentId} (${agentType})`,
62605
+ `- Task: ${task}`,
62606
+ "",
62607
+ "Suggested action: Write to your per-agent file instead:",
62608
+ `\u2192 ${suggestedPath}`
62609
+ ];
62610
+ return lines.join(`
62611
+ `);
62612
+ }
62613
+ // src/features/team/cleanup.ts
62614
+ var DEFAULT_MAX_AGE_MS = 30 * 60 * 1000;
62324
62615
  // src/tools/goop-delegate/index.ts
62325
62616
  function normalizeReferencePath(name) {
62326
62617
  return name.trim().replace(/\\/g, "/").replace(/^\.\/?/, "");
@@ -62349,7 +62640,109 @@ function resolveReferenceResource(resolver, name) {
62349
62640
  }
62350
62641
  return null;
62351
62642
  }
62352
- function buildAgentPrompt(ctx, agentDef, userPrompt, additionalContext) {
62643
+ function parseTeamContext(raw) {
62644
+ if (!raw) {
62645
+ return;
62646
+ }
62647
+ try {
62648
+ const parsed = JSON.parse(raw);
62649
+ if (parsed && typeof parsed === "object") {
62650
+ return parsed;
62651
+ }
62652
+ } catch (error92) {
62653
+ log("Invalid team_context JSON", { error: error92 });
62654
+ }
62655
+ return;
62656
+ }
62657
+ function generateAgentId() {
62658
+ return crypto.randomUUID().slice(0, 8);
62659
+ }
62660
+ function mergeTeamContexts(base, extra) {
62661
+ const siblings = new Map;
62662
+ const allSiblings = [...base?.siblings ?? [], ...extra?.siblings ?? []];
62663
+ for (const sibling of allSiblings) {
62664
+ siblings.set(sibling.id, sibling);
62665
+ }
62666
+ const mergedSiblings = Array.from(siblings.values());
62667
+ return mergedSiblings.length > 0 ? { siblings: mergedSiblings } : {};
62668
+ }
62669
+ function normalizeFileReference(value) {
62670
+ const trimmed = value.trim().replace(/^`|`$/g, "");
62671
+ if (!trimmed) {
62672
+ return null;
62673
+ }
62674
+ const candidate = trimmed.split(/\s+-\s+|\s+\u2014\s+/)[0]?.trim();
62675
+ if (!candidate) {
62676
+ return null;
62677
+ }
62678
+ if (candidate.startsWith("http://") || candidate.startsWith("https://")) {
62679
+ return null;
62680
+ }
62681
+ if (!candidate.includes("/") && !candidate.includes(".")) {
62682
+ return null;
62683
+ }
62684
+ return candidate;
62685
+ }
62686
+ function extractFilePathsFromContext(...contexts) {
62687
+ const results = new Set;
62688
+ const sectionHeaderPattern = /^#{1,6}\s+/;
62689
+ const filesHeaderPattern = /^files?(\s+to\s+modify|\s+to\s+read)?\s*:/i;
62690
+ for (const context of contexts) {
62691
+ if (!context) {
62692
+ continue;
62693
+ }
62694
+ let inFilesSection = false;
62695
+ const lines = context.split(/\r?\n/);
62696
+ for (const line of lines) {
62697
+ const trimmed = line.trim();
62698
+ if (!trimmed) {
62699
+ continue;
62700
+ }
62701
+ if (sectionHeaderPattern.test(trimmed)) {
62702
+ inFilesSection = /files?/i.test(trimmed);
62703
+ continue;
62704
+ }
62705
+ if (filesHeaderPattern.test(trimmed)) {
62706
+ inFilesSection = true;
62707
+ const inlineList = trimmed.replace(filesHeaderPattern, "").trim();
62708
+ if (inlineList) {
62709
+ const parts = inlineList.split(",");
62710
+ for (const part of parts) {
62711
+ const normalized2 = normalizeFileReference(part);
62712
+ if (normalized2) {
62713
+ results.add(normalized2);
62714
+ }
62715
+ }
62716
+ }
62717
+ continue;
62718
+ }
62719
+ if (!inFilesSection) {
62720
+ continue;
62721
+ }
62722
+ if (/^[A-Za-z].*:$/.test(trimmed)) {
62723
+ inFilesSection = false;
62724
+ continue;
62725
+ }
62726
+ const bulletMatch = trimmed.match(/^[-*]\s+(.+)$/);
62727
+ const candidate = bulletMatch ? bulletMatch[1] : trimmed;
62728
+ const normalized = normalizeFileReference(candidate);
62729
+ if (normalized) {
62730
+ results.add(normalized);
62731
+ }
62732
+ }
62733
+ }
62734
+ return Array.from(results);
62735
+ }
62736
+ async function buildAutoTeamContext(currentAgentId) {
62737
+ const activeAgents = await getActiveAgents();
62738
+ const siblings = activeAgents.filter((agent) => agent.id !== currentAgentId).map((agent) => ({
62739
+ id: agent.id,
62740
+ type: agent.type,
62741
+ task: agent.task
62742
+ }));
62743
+ return siblings.length > 0 ? { siblings } : {};
62744
+ }
62745
+ function buildAgentPrompt(ctx, agentDef, userPrompt, additionalContext, teamContext) {
62353
62746
  const sections = [];
62354
62747
  sections.push(`# Agent: ${agentDef.name}`);
62355
62748
  sections.push("");
@@ -62388,6 +62781,10 @@ function buildAgentPrompt(ctx, agentDef, userPrompt, additionalContext) {
62388
62781
  }
62389
62782
  }
62390
62783
  }
62784
+ if (teamContext) {
62785
+ sections.push(generateTeamAwarenessSection(teamContext));
62786
+ sections.push("");
62787
+ }
62391
62788
  if (additionalContext) {
62392
62789
  sections.push(`## Additional Context
62393
62790
  `);
@@ -62447,7 +62844,7 @@ function resolveSubagentType(agentDef, available) {
62447
62844
  }
62448
62845
  return available[0];
62449
62846
  }
62450
- function formatTaskDelegation(agentDef, userPrompt, composedPrompt, subagentType, availableSubagents) {
62847
+ function formatTaskDelegation(agentDef, agentId, parentId, userPrompt, composedPrompt, subagentType, availableSubagents, teamContext, conflicts = [], conflictWarnings = []) {
62451
62848
  const memoryProtocol = `
62452
62849
  ## Memory Protocol (Required)
62453
62850
 
@@ -62467,8 +62864,11 @@ function formatTaskDelegation(agentDef, userPrompt, composedPrompt, subagentType
62467
62864
  const enrichedPrompt = composedPrompt + `
62468
62865
 
62469
62866
  ` + memoryProtocol;
62867
+ const taskDescription = userPrompt.slice(0, 50).replace(/\n/g, " ").trim() + (userPrompt.length > 50 ? "..." : "");
62470
62868
  const delegationPayload = {
62471
62869
  action: "delegate_via_task",
62870
+ agent_id: agentId,
62871
+ parent_id: parentId,
62472
62872
  agent: agentDef.name,
62473
62873
  subagent_type: subagentType,
62474
62874
  available_subagents: availableSubagents,
@@ -62477,16 +62877,55 @@ function formatTaskDelegation(agentDef, userPrompt, composedPrompt, subagentType
62477
62877
  skills: agentDef.skills,
62478
62878
  references: agentDef.references,
62479
62879
  userPrompt,
62480
- composedPrompt: enrichedPrompt
62880
+ composedPrompt: enrichedPrompt,
62881
+ team_context: teamContext,
62882
+ conflicts,
62883
+ conflict_warnings: conflictWarnings
62481
62884
  };
62482
- return `<goop_delegation>
62885
+ const warningSection = conflictWarnings.length > 0 ? `## \u26A0\uFE0F Delegation Warning
62886
+
62887
+ ${conflictWarnings.join(`
62888
+
62889
+ `)}
62890
+
62891
+ ` : "";
62892
+ const escapedPrompt = enrichedPrompt.replace(/`/g, "\\`");
62893
+ return `${warningSection}# Prompt Engineered for ${agentDef.name}
62894
+
62895
+ \`goop_delegate\` has prepared this delegation. **You MUST now invoke the \`task\` tool.**
62896
+
62897
+ <goop_delegation>
62483
62898
  ${JSON.stringify(delegationPayload, null, 2)}
62484
62899
  </goop_delegation>
62485
62900
 
62486
- **Use native \`task\` tool:**
62487
- - subagent_type: "${subagentType}"
62488
- - description: "[3-5 word task summary]"
62489
- - prompt: [composedPrompt from JSON above]`;
62901
+ ---
62902
+
62903
+ ## \uD83D\uDE80 REQUIRED: Execute This Task Invocation
62904
+
62905
+ Copy and execute this \`task\` tool call:
62906
+
62907
+ \`\`\`
62908
+ task({
62909
+ subagent_type: "${subagentType}",
62910
+ description: "${taskDescription}",
62911
+ prompt: \`${escapedPrompt}\`
62912
+ })
62913
+ \`\`\`
62914
+
62915
+ ---
62916
+
62917
+ ### Why Two Steps?
62918
+
62919
+ 1. **\`goop_delegate\`** (just completed) = Prompt Engineering
62920
+ - Loaded agent definition, skills, references
62921
+ - Injected team awareness and memory protocol
62922
+ - Prepared the complete context package
62923
+
62924
+ 2. **\`task\`** (do this NOW) = Execution
62925
+ - Spawns the subagent with the engineered prompt
62926
+ - Returns results back to you
62927
+
62928
+ **Do NOT skip the task invocation. The delegation is incomplete without it.**`;
62490
62929
  }
62491
62930
  function createGoopDelegateTool(ctx) {
62492
62931
  return tool({
@@ -62495,6 +62934,7 @@ function createGoopDelegateTool(ctx) {
62495
62934
  agent: tool.schema.string().optional(),
62496
62935
  prompt: tool.schema.string().optional(),
62497
62936
  context: tool.schema.string().optional(),
62937
+ team_context: tool.schema.string().optional(),
62498
62938
  list: tool.schema.boolean().optional(),
62499
62939
  session_id: tool.schema.string().optional()
62500
62940
  },
@@ -62540,17 +62980,65 @@ Available agents: ${available.join(", ")}`;
62540
62980
  references: agentResource.frontmatter.references || [],
62541
62981
  prompt: agentResource.body
62542
62982
  };
62543
- const composedPrompt = buildAgentPrompt(ctx, agentDef, args.prompt, args.context);
62983
+ const teamContext = parseTeamContext(args.team_context);
62984
+ const agentId = generateAgentId();
62985
+ const parentId = args.session_id;
62986
+ let autoTeamContext;
62987
+ const contextFilePaths = extractFilePathsFromContext(args.context, args.prompt);
62988
+ const conflicts = [];
62989
+ const conflictWarnings = [];
62990
+ const registration = {
62991
+ id: agentId,
62992
+ type: agentDef.name,
62993
+ task: args.prompt,
62994
+ claimedFiles: [],
62995
+ parentId,
62996
+ startedAt: Date.now()
62997
+ };
62998
+ const registrationResult = await registerAgent(registration);
62999
+ if (!registrationResult.ok) {
63000
+ logError("Failed to register delegated agent", registrationResult.error);
63001
+ }
63002
+ if (contextFilePaths.length > 0) {
63003
+ try {
63004
+ for (const filePath of contextFilePaths) {
63005
+ const conflict = await checkFileConflict(filePath, agentId);
63006
+ if (conflict.hasConflict) {
63007
+ conflicts.push(conflict);
63008
+ const warning = conflict.warningMessage || generateConflictWarning(conflict);
63009
+ if (warning) {
63010
+ conflictWarnings.push(warning);
63011
+ }
63012
+ }
63013
+ }
63014
+ } catch (error92) {
63015
+ logError("Failed to check file conflicts for delegation", error92);
63016
+ }
63017
+ }
63018
+ try {
63019
+ autoTeamContext = await buildAutoTeamContext(agentId);
63020
+ } catch (error92) {
63021
+ logError("Failed to build team context for delegation", error92);
63022
+ }
63023
+ const mergedTeamContext = mergeTeamContexts(teamContext, autoTeamContext);
63024
+ const conflictContext = conflictWarnings.length > 0 ? ["## File Conflict Warnings", "", ...conflictWarnings].join(`
63025
+ `) : "";
63026
+ const combinedContext = [args.context, conflictContext].filter(Boolean).join(`
63027
+
63028
+ `);
63029
+ const composedPrompt = buildAgentPrompt(ctx, agentDef, args.prompt, combinedContext, mergedTeamContext);
62544
63030
  const client3 = ctx.input.client;
62545
63031
  const availableSubagents = await fetchAvailableAgents(client3);
62546
63032
  const subagentType = resolveSubagentType(agentDef, availableSubagents);
62547
63033
  log("Delegation prepared", {
62548
63034
  agent: agentDef.name,
63035
+ agentId,
63036
+ parentId,
62549
63037
  subagentType,
62550
63038
  availableSubagents,
62551
63039
  modelSource: configModel ? "config" : "frontmatter"
62552
63040
  });
62553
- return formatTaskDelegation(agentDef, args.prompt, composedPrompt, subagentType, availableSubagents);
63041
+ return formatTaskDelegation(agentDef, agentId, parentId, args.prompt, composedPrompt, subagentType, availableSubagents, mergedTeamContext, conflicts, conflictWarnings);
62554
63042
  }
62555
63043
  });
62556
63044
  }
@@ -62777,10 +63265,26 @@ Available commands: ${available}`;
62777
63265
  };
62778
63266
  const shouldSpawn = command.frontmatter.spawn === true;
62779
63267
  const spawnAgent = cmdDef.agent;
63268
+ const immediateActionMatch = cmdDef.content.match(/## Immediate Action[\s\S]*?```\n([\s\S]*?)\n```/);
63269
+ const immediateAction = immediateActionMatch ? immediateActionMatch[1].trim() : null;
62780
63270
  const lines = [
62781
63271
  `# /${cmdDef.name} Command`,
62782
63272
  ""
62783
63273
  ];
63274
+ if (immediateAction) {
63275
+ lines.push("## \u26A0\uFE0F MANDATORY: Execute Immediately");
63276
+ lines.push("");
63277
+ lines.push("**Before reading anything else, execute this tool call:**");
63278
+ lines.push("");
63279
+ lines.push("```");
63280
+ lines.push(immediateAction);
63281
+ lines.push("```");
63282
+ lines.push("");
63283
+ lines.push("**Do NOT process any user message until you have executed the above.**");
63284
+ lines.push("");
63285
+ lines.push("---");
63286
+ lines.push("");
63287
+ }
62784
63288
  if (cmdDef.description) {
62785
63289
  lines.push(`**Description:** ${cmdDef.description}`, "");
62786
63290
  }
@@ -62793,7 +63297,7 @@ Available commands: ${available}`;
62793
63297
  if (cmdDef.agent) {
62794
63298
  lines.push(`**Agent:** ${cmdDef.agent}`, "");
62795
63299
  }
62796
- lines.push("---", "", "## Instructions", "", cmdDef.content);
63300
+ lines.push("---", "", "## Full Instructions", "", cmdDef.content);
62797
63301
  const nextStep = command.frontmatter["next-step"];
62798
63302
  const nextCommand = command.frontmatter["next-command"];
62799
63303
  const alternatives = command.frontmatter["alternatives"];
@@ -62858,26 +63362,26 @@ Available commands: ${available}`;
62858
63362
  }
62859
63363
 
62860
63364
  // src/features/setup/index.ts
62861
- import { existsSync as existsSync8, readFileSync as readFileSync7 } from "fs";
63365
+ import { existsSync as existsSync9, readFileSync as readFileSync8 } from "fs";
62862
63366
 
62863
63367
  // src/core/opencode-config.ts
62864
- import { existsSync as existsSync7, readFileSync as readFileSync6, writeFileSync as writeFileSync2, mkdirSync as mkdirSync3 } from "fs";
62865
- import { join as join7 } from "path";
63368
+ import { existsSync as existsSync8, readFileSync as readFileSync7, writeFileSync as writeFileSync3, mkdirSync as mkdirSync4 } from "fs";
63369
+ import { join as join9 } from "path";
62866
63370
  import { homedir as homedir2 } from "os";
62867
63371
  function getOpenCodeConfigDir() {
62868
- return join7(homedir2(), ".config", "opencode");
63372
+ return join9(homedir2(), ".config", "opencode");
62869
63373
  }
62870
63374
  function getOpenCodeConfigPath() {
62871
- return join7(getOpenCodeConfigDir(), "config.json");
63375
+ return join9(getOpenCodeConfigDir(), "config.json");
62872
63376
  }
62873
63377
  function readOpenCodeConfig(configDir) {
62874
- const configPath = configDir ? join7(configDir, "config.json") : getOpenCodeConfigPath();
62875
- if (!existsSync7(configPath)) {
63378
+ const configPath = configDir ? join9(configDir, "config.json") : getOpenCodeConfigPath();
63379
+ if (!existsSync8(configPath)) {
62876
63380
  log(`OpenCode config not found at ${configPath}, returning empty config`);
62877
63381
  return {};
62878
63382
  }
62879
63383
  try {
62880
- const content = readFileSync6(configPath, "utf-8");
63384
+ const content = readFileSync7(configPath, "utf-8");
62881
63385
  const config3 = JSON.parse(content);
62882
63386
  log(`Read OpenCode config from ${configPath}`);
62883
63387
  return config3;
@@ -62888,13 +63392,13 @@ function readOpenCodeConfig(configDir) {
62888
63392
  }
62889
63393
  function writeOpenCodeConfig(config3, configDir) {
62890
63394
  const dir = configDir ?? getOpenCodeConfigDir();
62891
- const configPath = join7(dir, "config.json");
63395
+ const configPath = join9(dir, "config.json");
62892
63396
  try {
62893
- if (!existsSync7(dir)) {
62894
- mkdirSync3(dir, { recursive: true });
63397
+ if (!existsSync8(dir)) {
63398
+ mkdirSync4(dir, { recursive: true });
62895
63399
  log(`Created OpenCode config directory: ${dir}`);
62896
63400
  }
62897
- writeFileSync2(configPath, JSON.stringify(config3, null, 2));
63401
+ writeFileSync3(configPath, JSON.stringify(config3, null, 2));
62898
63402
  log(`Wrote OpenCode config to ${configPath}`);
62899
63403
  } catch (error92) {
62900
63404
  logError(`Failed to write OpenCode config to ${configPath}:`, error92);
@@ -62911,8 +63415,8 @@ function mergeMcpConfig(config3, mcpEntries) {
62911
63415
  };
62912
63416
  }
62913
63417
  function hasOpenCodeConfig(configDir) {
62914
- const configPath = configDir ? join7(configDir, "config.json") : getOpenCodeConfigPath();
62915
- return existsSync7(configPath);
63418
+ const configPath = configDir ? join9(configDir, "config.json") : getOpenCodeConfigPath();
63419
+ return existsSync8(configPath);
62916
63420
  }
62917
63421
  function getExistingMcps(config3) {
62918
63422
  if (!config3.mcp) {
@@ -63009,7 +63513,7 @@ var MCP_PRESETS = {
63009
63513
  };
63010
63514
 
63011
63515
  // src/features/setup/index.ts
63012
- import { writeFileSync as writeFileSync3, mkdirSync as mkdirSync4, rmSync } from "fs";
63516
+ import { writeFileSync as writeFileSync4, mkdirSync as mkdirSync5, rmSync } from "fs";
63013
63517
 
63014
63518
  // src/features/setup/platform.ts
63015
63519
  function detectPlatform() {
@@ -63396,13 +63900,13 @@ async function detectEnvironment(projectDir) {
63396
63900
  const statePath = joinPath(goopspecDir, "state.json");
63397
63901
  const adlPath = joinPath(goopspecDir, "ADL.md");
63398
63902
  const memoryDir = joinPath(goopspecDir, "memory");
63399
- const hasGlobal = existsSync8(globalConfigPath);
63400
- const hasProject = existsSync8(projectConfigPath);
63903
+ const hasGlobal = existsSync9(globalConfigPath);
63904
+ const hasProject = existsSync9(projectConfigPath);
63401
63905
  const hasOpenCode = hasOpenCodeConfig();
63402
- const hasGoopspecDir = existsSync8(goopspecDir);
63403
- const hasStateFile = existsSync8(statePath);
63404
- const hasADLFile = existsSync8(adlPath);
63405
- const hasMemoryDir = existsSync8(memoryDir);
63906
+ const hasGoopspecDir = existsSync9(goopspecDir);
63907
+ const hasStateFile = existsSync9(statePath);
63908
+ const hasADLFile = existsSync9(adlPath);
63909
+ const hasMemoryDir = existsSync9(memoryDir);
63406
63910
  let existingMcps = [];
63407
63911
  if (hasOpenCode) {
63408
63912
  try {
@@ -63453,7 +63957,7 @@ async function planSetup(input, env4) {
63453
63957
  ...DEFAULT_CONFIG,
63454
63958
  defaultModel: input.models.default ?? DEFAULT_CONFIG.defaultModel,
63455
63959
  orchestrator: {
63456
- model: input.models.orchestrator ?? "anthropic/claude-opus-4-5",
63960
+ model: input.models.orchestrator ?? "anthropic/claude-opus-4-6",
63457
63961
  thinkingBudget: 32000
63458
63962
  },
63459
63963
  mcp: {
@@ -63572,13 +64076,13 @@ async function planInit(_projectDir, input, env4) {
63572
64076
  const checkpointsDir = joinPath(env4.goopspecDir, "checkpoints");
63573
64077
  const historyDir = joinPath(env4.goopspecDir, "history");
63574
64078
  const memoryDir = joinPath(env4.goopspecDir, "memory");
63575
- if (!existsSync8(checkpointsDir)) {
64079
+ if (!existsSync9(checkpointsDir)) {
63576
64080
  dirsToCreate.push(checkpointsDir);
63577
64081
  }
63578
- if (!existsSync8(historyDir)) {
64082
+ if (!existsSync9(historyDir)) {
63579
64083
  dirsToCreate.push(historyDir);
63580
64084
  }
63581
- if (input.memory?.enabled !== false && !existsSync8(memoryDir)) {
64085
+ if (input.memory?.enabled !== false && !existsSync9(memoryDir)) {
63582
64086
  dirsToCreate.push(memoryDir);
63583
64087
  additionalActions.push({
63584
64088
  type: "init_memory",
@@ -63615,8 +64119,8 @@ async function applySetup(plan) {
63615
64119
  if (plan.dirsToCreate) {
63616
64120
  for (const dir of plan.dirsToCreate) {
63617
64121
  try {
63618
- if (!existsSync8(dir)) {
63619
- mkdirSync4(dir, { recursive: true });
64122
+ if (!existsSync9(dir)) {
64123
+ mkdirSync5(dir, { recursive: true });
63620
64124
  log(`Created directory: ${dir}`);
63621
64125
  }
63622
64126
  } catch (error92) {
@@ -63629,10 +64133,10 @@ async function applySetup(plan) {
63629
64133
  for (const configWrite of plan.configsToWrite) {
63630
64134
  try {
63631
64135
  const dir = configWrite.path.substring(0, configWrite.path.lastIndexOf("/"));
63632
- if (!existsSync8(dir)) {
63633
- mkdirSync4(dir, { recursive: true });
64136
+ if (!existsSync9(dir)) {
64137
+ mkdirSync5(dir, { recursive: true });
63634
64138
  }
63635
- writeFileSync3(configWrite.path, JSON.stringify(configWrite.content, null, 2));
64139
+ writeFileSync4(configWrite.path, JSON.stringify(configWrite.content, null, 2));
63636
64140
  result.configsWritten.push(configWrite.path);
63637
64141
  log(`Wrote config: ${configWrite.path}`);
63638
64142
  } catch (error92) {
@@ -63741,8 +64245,8 @@ async function applyInit(projectDir, plan) {
63741
64245
  if (plan.dirsToCreate) {
63742
64246
  for (const dir of plan.dirsToCreate) {
63743
64247
  try {
63744
- if (!existsSync8(dir)) {
63745
- mkdirSync4(dir, { recursive: true });
64248
+ if (!existsSync9(dir)) {
64249
+ mkdirSync5(dir, { recursive: true });
63746
64250
  result.created.push(dir);
63747
64251
  log(`Created directory: ${dir}`);
63748
64252
  }
@@ -63801,7 +64305,7 @@ async function verifySetup(projectDir) {
63801
64305
  });
63802
64306
  if (env4.hasProjectGoopSpecConfig) {
63803
64307
  try {
63804
- const configContent = readFileSync7(env4.projectConfigPath, "utf-8");
64308
+ const configContent = readFileSync8(env4.projectConfigPath, "utf-8");
63805
64309
  const config3 = JSON.parse(configContent);
63806
64310
  const validation = validateConfig(config3);
63807
64311
  checks5.push({
@@ -63910,7 +64414,7 @@ async function resetSetup(projectDir, options) {
63910
64414
  try {
63911
64415
  if ((options.scope === "global" || options.scope === "both") && env4.hasGlobalGoopSpecConfig) {
63912
64416
  try {
63913
- writeFileSync3(env4.globalConfigPath, JSON.stringify(DEFAULT_CONFIG, null, 2));
64417
+ writeFileSync4(env4.globalConfigPath, JSON.stringify(DEFAULT_CONFIG, null, 2));
63914
64418
  result.reset.push(env4.globalConfigPath);
63915
64419
  log(`Reset global config to defaults`);
63916
64420
  } catch (error92) {
@@ -63930,7 +64434,7 @@ async function resetSetup(projectDir, options) {
63930
64434
  }
63931
64435
  };
63932
64436
  try {
63933
- writeFileSync3(env4.projectConfigPath, JSON.stringify(defaultProjectConfig, null, 2));
64437
+ writeFileSync4(env4.projectConfigPath, JSON.stringify(defaultProjectConfig, null, 2));
63934
64438
  result.reset.push(env4.projectConfigPath);
63935
64439
  log(`Reset project config to defaults`);
63936
64440
  } catch (error92) {
@@ -63945,7 +64449,7 @@ async function resetSetup(projectDir, options) {
63945
64449
  joinPath(env4.goopspecDir, "checkpoints")
63946
64450
  ];
63947
64451
  for (const path2 of preservedPaths) {
63948
- if (existsSync8(path2)) {
64452
+ if (existsSync9(path2)) {
63949
64453
  result.preserved.push(path2);
63950
64454
  }
63951
64455
  }
@@ -63956,7 +64460,7 @@ async function resetSetup(projectDir, options) {
63956
64460
  joinPath(env4.goopspecDir, "checkpoints")
63957
64461
  ];
63958
64462
  for (const dir of dirsToDelete) {
63959
- if (existsSync8(dir)) {
64463
+ if (existsSync9(dir)) {
63960
64464
  try {
63961
64465
  rmSync(dir, { recursive: true, force: true });
63962
64466
  result.reset.push(dir);
@@ -63989,7 +64493,7 @@ async function getSetupStatus(projectDir) {
63989
64493
  const agentModels = {};
63990
64494
  if (env4.hasProjectGoopSpecConfig) {
63991
64495
  try {
63992
- const content = readFileSync7(env4.projectConfigPath, "utf-8");
64496
+ const content = readFileSync8(env4.projectConfigPath, "utf-8");
63993
64497
  const config3 = JSON.parse(content);
63994
64498
  projectName = config3.projectName;
63995
64499
  memoryEnabled = config3.memory?.enabled !== false;
@@ -64006,7 +64510,7 @@ async function getSetupStatus(projectDir) {
64006
64510
  if (!projectName && env4.hasStateFile) {
64007
64511
  try {
64008
64512
  const statePath = joinPath(env4.goopspecDir, "state.json");
64009
- const content = readFileSync7(statePath, "utf-8");
64513
+ const content = readFileSync8(statePath, "utf-8");
64010
64514
  const state = JSON.parse(content);
64011
64515
  projectName = state.project?.name;
64012
64516
  } catch {}
@@ -64038,15 +64542,15 @@ async function getSetupStatus(projectDir) {
64038
64542
  var AGENT_MODEL_SUGGESTIONS = {
64039
64543
  "goop-debugger": {
64040
64544
  suggestions: [
64041
- "openai/gpt-5.2-codex",
64042
- "anthropic/claude-opus-4-5",
64545
+ "openai/gpt-5.3-codex",
64546
+ "anthropic/claude-opus-4-6",
64043
64547
  "kimi-for-coding/k2p5"
64044
64548
  ],
64045
64549
  description: "Systematic debugging with hypothesis testing"
64046
64550
  },
64047
64551
  "goop-designer": {
64048
64552
  suggestions: [
64049
- "anthropic/claude-opus-4-5",
64553
+ "anthropic/claude-opus-4-6",
64050
64554
  "kimi-for-coding/k2p5",
64051
64555
  "google/antigravity-gemini-3-pro-high"
64052
64556
  ],
@@ -64054,8 +64558,8 @@ var AGENT_MODEL_SUGGESTIONS = {
64054
64558
  },
64055
64559
  "goop-executor": {
64056
64560
  suggestions: [
64057
- "openai/gpt-5.2-codex",
64058
- "anthropic/claude-opus-4-5",
64561
+ "openai/gpt-5.3-codex",
64562
+ "anthropic/claude-opus-4-6",
64059
64563
  "anthropic/claude-sonnet-4-5",
64060
64564
  "kimi-for-coding/k2p5",
64061
64565
  "google/antigravity-gemini-3-pro-high",
@@ -64081,8 +64585,8 @@ var AGENT_MODEL_SUGGESTIONS = {
64081
64585
  },
64082
64586
  "goop-orchestrator": {
64083
64587
  suggestions: [
64084
- "openai/gpt-5.2-codex",
64085
- "anthropic/claude-opus-4-5",
64588
+ "openai/gpt-5.3-codex",
64589
+ "anthropic/claude-opus-4-6",
64086
64590
  "kimi-for-coding/k2p5",
64087
64591
  "anthropic/claude-sonnet-4-5"
64088
64592
  ],
@@ -64090,8 +64594,8 @@ var AGENT_MODEL_SUGGESTIONS = {
64090
64594
  },
64091
64595
  "goop-planner": {
64092
64596
  suggestions: [
64093
- "openai/gpt-5.2-codex",
64094
- "anthropic/claude-opus-4-5",
64597
+ "openai/gpt-5.3-codex",
64598
+ "anthropic/claude-opus-4-6",
64095
64599
  "kimi-for-coding/k2p5",
64096
64600
  "anthropic/claude-sonnet-4-5"
64097
64601
  ],
@@ -64116,8 +64620,8 @@ var AGENT_MODEL_SUGGESTIONS = {
64116
64620
  },
64117
64621
  "goop-verifier": {
64118
64622
  suggestions: [
64119
- "openai/gpt-5.2-codex",
64120
- "anthropic/claude-opus-4-5"
64623
+ "openai/gpt-5.3-codex",
64624
+ "anthropic/claude-opus-4-6"
64121
64625
  ],
64122
64626
  description: "Post-execution verification with security focus"
64123
64627
  },
@@ -64198,7 +64702,7 @@ function formatModelSuggestions() {
64198
64702
  lines.push("To configure agent models, use:");
64199
64703
  lines.push("```");
64200
64704
  lines.push('goop_setup(action: "apply", scope: "project", agentModels: {');
64201
- lines.push(' "goop-orchestrator": "anthropic/claude-opus-4-5",');
64705
+ lines.push(' "goop-orchestrator": "anthropic/claude-opus-4-6",');
64202
64706
  lines.push(' "goop-executor": "anthropic/claude-sonnet-4-5",');
64203
64707
  lines.push(' "goop-explorer": "anthropic/claude-haiku-4-5"');
64204
64708
  lines.push("})");
@@ -65167,8 +65671,8 @@ WARNING: Deleted memories cannot be recovered.`,
65167
65671
  }
65168
65672
 
65169
65673
  // src/tools/session-search/index.ts
65170
- import { existsSync as existsSync9, readdirSync as readdirSync4, readFileSync as readFileSync8 } from "fs";
65171
- import { join as join9 } from "path";
65674
+ import { existsSync as existsSync10, readdirSync as readdirSync4, readFileSync as readFileSync9 } from "fs";
65675
+ import { join as join11 } from "path";
65172
65676
  import { exec as exec2 } from "child_process";
65173
65677
  import { promisify as promisify2 } from "util";
65174
65678
  var execAsync2 = promisify2(exec2);
@@ -65196,7 +65700,7 @@ async function searchHistory(historyDir, query, options = {}) {
65196
65700
  const results = [];
65197
65701
  const limit = options.limit ?? 50;
65198
65702
  const queryLower = query.toLowerCase();
65199
- if (!existsSync9(historyDir)) {
65703
+ if (!existsSync10(historyDir)) {
65200
65704
  return results;
65201
65705
  }
65202
65706
  const matchingFilePaths = await findMatchingFiles(historyDir, query);
@@ -65215,7 +65719,7 @@ async function searchHistory(historyDir, query, options = {}) {
65215
65719
  if (options.endDate && date9 > options.endDate)
65216
65720
  continue;
65217
65721
  try {
65218
- const content = readFileSync8(join9(historyDir, file3), "utf-8");
65722
+ const content = readFileSync9(join11(historyDir, file3), "utf-8");
65219
65723
  const entries = JSON.parse(content);
65220
65724
  const matchingEntries = entries.filter((entry) => {
65221
65725
  if (options.types && !options.types.includes(entry.type)) {
@@ -65270,7 +65774,7 @@ function formatSearchResults(results, query) {
65270
65774
  `);
65271
65775
  }
65272
65776
  function getRecentHistory(historyDir, limit = 20, types) {
65273
- if (!existsSync9(historyDir)) {
65777
+ if (!existsSync10(historyDir)) {
65274
65778
  return [];
65275
65779
  }
65276
65780
  const entries = [];
@@ -65279,7 +65783,7 @@ function getRecentHistory(historyDir, limit = 20, types) {
65279
65783
  if (entries.length >= limit)
65280
65784
  break;
65281
65785
  try {
65282
- const content = readFileSync8(join9(historyDir, file3), "utf-8");
65786
+ const content = readFileSync9(join11(historyDir, file3), "utf-8");
65283
65787
  const fileEntries = JSON.parse(content);
65284
65788
  const filtered = types ? fileEntries.filter((e) => types.includes(e.type)) : fileEntries;
65285
65789
  entries.push(...filtered.slice(0, limit - entries.length));
@@ -65300,7 +65804,7 @@ function createSessionSearchTool(ctx) {
65300
65804
  },
65301
65805
  async execute(args, _context) {
65302
65806
  const goopspecDir = getProjectGoopspecDir(ctx.input.directory);
65303
- const historyDir = join9(goopspecDir, "history");
65807
+ const historyDir = join11(goopspecDir, "history");
65304
65808
  if (args.recent) {
65305
65809
  const entries = getRecentHistory(historyDir, args.limit ?? 20, args.types);
65306
65810
  if (entries.length === 0) {
@@ -66127,8 +66631,88 @@ function buildEnforcementContext(state) {
66127
66631
  ${phaseEnforcement}`;
66128
66632
  }
66129
66633
  // src/features/enforcement/scaffolder.ts
66130
- import { existsSync as existsSync10, mkdirSync as mkdirSync5, readFileSync as readFileSync9, writeFileSync as writeFileSync4 } from "fs";
66131
- import { join as join10, dirname as dirname4 } from "path";
66634
+ import { existsSync as existsSync11, mkdirSync as mkdirSync6, readFileSync as readFileSync10, writeFileSync as writeFileSync5 } from "fs";
66635
+ import { join as join12, dirname as dirname4 } from "path";
66636
+ // package.json
66637
+ var package_default = {
66638
+ name: "opencode-goopspec",
66639
+ version: "0.1.6",
66640
+ description: "A spec-driven development plugin for OpenCode with user-guided planning, wave execution, and verification",
66641
+ type: "module",
66642
+ main: "dist/index.js",
66643
+ types: "dist/index.d.ts",
66644
+ exports: {
66645
+ ".": {
66646
+ import: "./dist/index.js",
66647
+ types: "./dist/index.d.ts"
66648
+ }
66649
+ },
66650
+ files: [
66651
+ "dist",
66652
+ "commands",
66653
+ "agents",
66654
+ "references",
66655
+ "templates",
66656
+ "skills",
66657
+ "README.md"
66658
+ ],
66659
+ scripts: {
66660
+ build: "bun build ./src/index.ts --outdir ./dist --target bun && bun build ./src/features/memory/worker/index.ts --outdir ./dist/worker --target bun",
66661
+ dev: "bun build ./src/index.ts --outdir ./dist --target bun --watch",
66662
+ "build:worker": "bun build ./src/features/memory/worker/index.ts --outdir ./dist/worker --target bun",
66663
+ typecheck: "bunx tsc --noEmit",
66664
+ clean: "rm -rf dist",
66665
+ test: "bun test",
66666
+ "version:bump": "bun scripts/version-bump.ts",
66667
+ prepublishOnly: "bun run build"
66668
+ },
66669
+ keywords: [
66670
+ "opencode",
66671
+ "plugin",
66672
+ "spec-driven",
66673
+ "task-management",
66674
+ "agent-orchestration",
66675
+ "gsd",
66676
+ "productivity",
66677
+ "task-continuation",
66678
+ "enforced-continuation"
66679
+ ],
66680
+ author: "James (opencode-goopspec)",
66681
+ license: "MIT",
66682
+ dependencies: {
66683
+ "@clack/prompts": "^0.8.2",
66684
+ "@huggingface/transformers": "^3.8.1",
66685
+ "@opencode-ai/plugin": "^1.1.44",
66686
+ "@opencode-ai/sdk": "^1.1.44",
66687
+ hono: "^4.11.7",
66688
+ picocolors: "^1.1.1",
66689
+ "sqlite-vec": "^0.1.7-alpha.2",
66690
+ "sqlite-vec-linux-x64": "^0.1.7-alpha.2",
66691
+ zod: "^4.1.8"
66692
+ },
66693
+ devDependencies: {
66694
+ "@types/node": "^22.13.9",
66695
+ typescript: "^5.8.2",
66696
+ "bun-types": "latest"
66697
+ },
66698
+ peerDependencies: {
66699
+ "@opencode-ai/plugin": "^1.1.0"
66700
+ },
66701
+ engines: {
66702
+ bun: ">=1.0.0"
66703
+ },
66704
+ repository: {
66705
+ type: "git",
66706
+ url: "https://github.com/hffmnnj/opencode-goopspec.git"
66707
+ },
66708
+ bugs: {
66709
+ url: "https://github.com/hffmnnj/opencode-goopspec/issues"
66710
+ },
66711
+ homepage: "https://github.com/hffmnnj/opencode-goopspec#readme"
66712
+ };
66713
+
66714
+ // src/core/version.ts
66715
+ var GOOPSPEC_VERSION = package_default.version ?? "unknown";
66132
66716
 
66133
66717
  // src/shared/template-engine.ts
66134
66718
  function renderTemplate(template, context) {
@@ -66241,17 +66825,17 @@ var DOCUMENT_CONFIGS = {
66241
66825
  }
66242
66826
  };
66243
66827
  function getTemplatesDir(ctx) {
66244
- const projectTemplates = join10(ctx.input.directory, "templates");
66245
- if (existsSync10(projectTemplates)) {
66828
+ const projectTemplates = join12(ctx.input.directory, "templates");
66829
+ if (existsSync11(projectTemplates)) {
66246
66830
  return projectTemplates;
66247
66831
  }
66248
66832
  const resolver = ctx.resolver;
66249
66833
  const templateDir = resolver.getDirectory("template");
66250
- if (templateDir && existsSync10(templateDir)) {
66834
+ if (templateDir && existsSync11(templateDir)) {
66251
66835
  return templateDir;
66252
66836
  }
66253
- const devTemplates = join10(dirname4(import.meta.dir), "..", "..", "templates");
66254
- if (existsSync10(devTemplates)) {
66837
+ const devTemplates = join12(dirname4(import.meta.dir), "..", "..", "templates");
66838
+ if (existsSync11(devTemplates)) {
66255
66839
  return devTemplates;
66256
66840
  }
66257
66841
  throw new Error("Templates directory not found");
@@ -66259,12 +66843,12 @@ function getTemplatesDir(ctx) {
66259
66843
  function loadTemplate(ctx, templateName) {
66260
66844
  try {
66261
66845
  const templatesDir = getTemplatesDir(ctx);
66262
- const templatePath = join10(templatesDir, templateName);
66263
- if (!existsSync10(templatePath)) {
66846
+ const templatePath = join12(templatesDir, templateName);
66847
+ if (!existsSync11(templatePath)) {
66264
66848
  log(`Template not found: ${templatePath}`);
66265
66849
  return null;
66266
66850
  }
66267
- return readFileSync9(templatePath, "utf-8");
66851
+ return readFileSync10(templatePath, "utf-8");
66268
66852
  } catch (error92) {
66269
66853
  logError(`Failed to load template: ${templateName}`, error92);
66270
66854
  return null;
@@ -66280,10 +66864,10 @@ async function scaffoldPhaseDocuments(ctx, phaseName, phase, additionalContext =
66280
66864
  };
66281
66865
  try {
66282
66866
  const goopspecDir = getProjectGoopspecDir(ctx.input.directory);
66283
- const phaseDir = join10(goopspecDir, "phases", sanitizePhaseName2(phaseName));
66867
+ const phaseDir = join12(goopspecDir, "phases", sanitizePhaseName2(phaseName));
66284
66868
  result.phaseDir = phaseDir;
66285
- if (!existsSync10(phaseDir)) {
66286
- mkdirSync5(phaseDir, { recursive: true });
66869
+ if (!existsSync11(phaseDir)) {
66870
+ mkdirSync6(phaseDir, { recursive: true });
66287
66871
  log(`Created phase directory: ${phaseDir}`);
66288
66872
  }
66289
66873
  const projectName = ctx.config.projectName || ctx.input.project.name || "unnamed";
@@ -66292,8 +66876,8 @@ async function scaffoldPhaseDocuments(ctx, phaseName, phase, additionalContext =
66292
66876
  ...additionalContext
66293
66877
  });
66294
66878
  for (const [docType, config3] of Object.entries(DOCUMENT_CONFIGS)) {
66295
- const docPath = join10(phaseDir, config3.fileName);
66296
- if (existsSync10(docPath)) {
66879
+ const docPath = join12(phaseDir, config3.fileName);
66880
+ if (existsSync11(docPath)) {
66297
66881
  result.documentsSkipped.push(config3.fileName);
66298
66882
  log(`Document already exists, skipping: ${config3.fileName}`);
66299
66883
  continue;
@@ -66304,13 +66888,13 @@ async function scaffoldPhaseDocuments(ctx, phaseName, phase, additionalContext =
66304
66888
  const template = loadTemplate(ctx, config3.templateName);
66305
66889
  if (!template) {
66306
66890
  const minimalContent = createMinimalDocument(docType, templateContext);
66307
- writeFileSync4(docPath, minimalContent, "utf-8");
66891
+ writeFileSync5(docPath, minimalContent, "utf-8");
66308
66892
  result.documentsCreated.push(config3.fileName);
66309
66893
  log(`Created minimal document (no template): ${config3.fileName}`);
66310
66894
  continue;
66311
66895
  }
66312
66896
  const content = renderTemplate(template, templateContext);
66313
- writeFileSync4(docPath, content, "utf-8");
66897
+ writeFileSync5(docPath, content, "utf-8");
66314
66898
  result.documentsCreated.push(config3.fileName);
66315
66899
  log(`Created document: ${config3.fileName}`);
66316
66900
  }
@@ -66365,7 +66949,7 @@ function createMinimalDocument(docType, context) {
66365
66949
 
66366
66950
  ---
66367
66951
 
66368
- *GoopSpec v0.1.5*
66952
+ *GoopSpec v${GOOPSPEC_VERSION}*
66369
66953
  `;
66370
66954
  case "blueprint":
66371
66955
  return `# BLUEPRINT: ${projectName}
@@ -66391,7 +66975,7 @@ function createMinimalDocument(docType, context) {
66391
66975
 
66392
66976
  ---
66393
66977
 
66394
- *GoopSpec v0.1.5*
66978
+ *GoopSpec v${GOOPSPEC_VERSION}*
66395
66979
  `;
66396
66980
  case "chronicle":
66397
66981
  return `# CHRONICLE: ${projectName}
@@ -66418,7 +67002,7 @@ function createMinimalDocument(docType, context) {
66418
67002
 
66419
67003
  ---
66420
67004
 
66421
- *GoopSpec v0.1.5*
67005
+ *GoopSpec v${GOOPSPEC_VERSION}*
66422
67006
  `;
66423
67007
  case "research":
66424
67008
  return `# RESEARCH: ${projectName}
@@ -66446,7 +67030,7 @@ function createMinimalDocument(docType, context) {
66446
67030
 
66447
67031
  ---
66448
67032
 
66449
- *GoopSpec v0.1.5*
67033
+ *GoopSpec v${GOOPSPEC_VERSION}*
66450
67034
  `;
66451
67035
  default:
66452
67036
  return `# ${String(docType).toUpperCase()}
@@ -66521,7 +67105,7 @@ Use the memory tools (memory_save, memory_search, memory_note, memory_decision)
66521
67105
  }
66522
67106
 
66523
67107
  // src/hooks/command-processor.ts
66524
- import { join as join11 } from "path";
67108
+ import { join as join13 } from "path";
66525
67109
  var COMMAND_PHASES = {
66526
67110
  "goop-plan": "plan",
66527
67111
  "goop-discuss": "plan",
@@ -66576,7 +67160,7 @@ function createCommandProcessor(ctx) {
66576
67160
  if (scaffoldResult && !scaffoldResult.success) {
66577
67161
  logError("Command processor failed to scaffold phase documents", scaffoldResult.errors);
66578
67162
  }
66579
- const files = scaffoldResult ? scaffoldResult.documentsCreated.map((doc3) => join11(scaffoldResult.phaseDir, doc3)) : undefined;
67163
+ const files = scaffoldResult ? scaffoldResult.documentsCreated.map((doc3) => join13(scaffoldResult.phaseDir, doc3)) : undefined;
66580
67164
  const actionParts = [];
66581
67165
  if (phase) {
66582
67166
  actionParts.push(`Transitioned to ${phase}`);
@@ -67051,29 +67635,26 @@ function parseDelegationOutput(output) {
67051
67635
  }
67052
67636
  }
67053
67637
  function generateTaskInvocation(delegation) {
67054
- const promptPreview = delegation.prompt.slice(0, 500).replace(/`/g, "'");
67055
67638
  return `
67056
67639
 
67057
67640
  ---
67058
67641
 
67059
- ## \uD83D\uDE80 ACTION REQUIRED: Execute Delegation
67642
+ ## \u26A0\uFE0F MANDATORY NEXT STEP
67060
67643
 
67061
- You called \`goop_delegate\` to delegate to **${delegation.agent}**.
67644
+ You just used \`goop_delegate\` to engineer a prompt for **${delegation.agent}**.
67062
67645
 
67063
- **Now invoke the task tool:**
67646
+ **The delegation is NOT complete.** You MUST now call the \`task\` tool with the engineered prompt.
67647
+
67648
+ The \`goop_delegate\` output above contains the exact \`task()\` invocation to execute.
67649
+ Copy it and run it NOW.
67064
67650
 
67065
67651
  \`\`\`
67066
- task({
67067
- subagent_type: "${delegation.agent}",
67068
- description: "Delegated task",
67069
- prompt: "[Full prompt from composedPrompt above]"
67070
- })
67652
+ Two-Step Delegation Flow:
67653
+ 1. goop_delegate \u2713 (just completed - prompt engineered)
67654
+ 2. task \u2190 YOU ARE HERE (execute the prompt)
67071
67655
  \`\`\`
67072
67656
 
67073
- Preview of prompt:
67074
- > ${promptPreview}...
67075
-
67076
- **Do not skip this step.** The delegation is not complete until you invoke \`task\`.
67657
+ **If you do not call \`task\`, the subagent will not be spawned and no work will happen.**
67077
67658
  `;
67078
67659
  }
67079
67660
  function createOrchestratorEnforcementHooks(ctx) {
@@ -67229,8 +67810,8 @@ function clearExplorationTracking(sessionId) {
67229
67810
  }
67230
67811
 
67231
67812
  // src/hooks/auto-progression.ts
67232
- import { existsSync as existsSync11 } from "fs";
67233
- import { join as join12 } from "path";
67813
+ import { existsSync as existsSync12 } from "fs";
67814
+ import { join as join14 } from "path";
67234
67815
  var DEFAULT_CONFIG4 = {
67235
67816
  enabled: true,
67236
67817
  specifyToExecute: true,
@@ -67252,7 +67833,7 @@ function isAcceptanceConfirmed(ctx) {
67252
67833
  }
67253
67834
  function hasBlueprintFile(ctx) {
67254
67835
  const goopspecDir = getProjectGoopspecDir(ctx.input.directory);
67255
- return existsSync11(join12(goopspecDir, "BLUEPRINT.md"));
67836
+ return existsSync12(join14(goopspecDir, "BLUEPRINT.md"));
67256
67837
  }
67257
67838
  function generateProgressionMessage(from, to, reason) {
67258
67839
  return `
@@ -67518,10 +68099,10 @@ ${analysis.suggestions.map((s) => `- ${s}`).join(`
67518
68099
  }
67519
68100
 
67520
68101
  // src/hooks/continuation-enforcer.ts
67521
- import { readFileSync as readFileSync10, existsSync as existsSync12 } from "fs";
67522
- import { join as join13 } from "path";
68102
+ import { readFileSync as readFileSync11, existsSync as existsSync13 } from "fs";
68103
+ import { join as join15 } from "path";
67523
68104
  import { homedir as homedir3 } from "os";
67524
- var TODO_STORAGE = join13(homedir3(), ".local", "share", "opencode", "storage", "todo");
68105
+ var TODO_STORAGE = join15(homedir3(), ".local", "share", "opencode", "storage", "todo");
67525
68106
  var DEFAULT_CONFIG6 = {
67526
68107
  enabled: true,
67527
68108
  maxPrompts: 3,
@@ -67530,18 +68111,18 @@ var DEFAULT_CONFIG6 = {
67530
68111
  };
67531
68112
  var COUNTDOWN_GRACE_PERIOD_MS = 500;
67532
68113
  function getTodoFilePath(sessionID) {
67533
- return join13(TODO_STORAGE, `${sessionID}.json`);
68114
+ return join15(TODO_STORAGE, `${sessionID}.json`);
67534
68115
  }
67535
68116
  function getIncompleteCount(todos) {
67536
68117
  return todos.filter((t) => t.status !== "completed" && t.status !== "cancelled").length;
67537
68118
  }
67538
68119
  function readTodosFromDisk(sessionID) {
67539
68120
  const todoFile = getTodoFilePath(sessionID);
67540
- if (!existsSync12(todoFile)) {
68121
+ if (!existsSync13(todoFile)) {
67541
68122
  return [];
67542
68123
  }
67543
68124
  try {
67544
- const content = readFileSync10(todoFile, "utf-8");
68125
+ const content = readFileSync11(todoFile, "utf-8");
67545
68126
  return JSON.parse(content);
67546
68127
  } catch {
67547
68128
  return [];
@@ -67678,7 +68259,7 @@ function createContinuationEnforcer(_ctx, input, config3 = {}) {
67678
68259
  log("[continuation-enforcer] Todo disk fallback", {
67679
68260
  sessionID,
67680
68261
  path: todoFile,
67681
- exists: existsSync12(todoFile)
68262
+ exists: existsSync13(todoFile)
67682
68263
  });
67683
68264
  const todos = readTodosFromDisk(sessionID);
67684
68265
  log("[continuation-enforcer] Read todos from disk", { sessionID, count: todos.length });
@@ -69032,7 +69613,7 @@ function createGoopSpecOrchestrator(options) {
69032
69613
  return {
69033
69614
  name: "goopspec",
69034
69615
  mode: "primary",
69035
- model: options.model ?? "anthropic/claude-opus-4-5",
69616
+ model: options.model ?? "anthropic/claude-opus-4-6",
69036
69617
  thinking: {
69037
69618
  type: "enabled",
69038
69619
  budgetTokens: options.thinkingBudget ?? 32000
@@ -69190,6 +69771,51 @@ You have access to a persistent memory system that stores knowledge across sessi
69190
69771
  - Reference memory IDs when building on previous work
69191
69772
  `);
69192
69773
  }
69774
+ sections.push(`
69775
+ ## Question Tool (User Interaction)
69776
+
69777
+ When you need user input, **always use the \`mcp_question\` tool** instead of plain text prompts.
69778
+
69779
+ ### When to Use
69780
+ - Asking for confirmation (e.g., "Ready to proceed?", "Lock the spec?")
69781
+ - Offering choices (e.g., "Which approach?", "Select files to include")
69782
+ - Gathering preferences or decisions
69783
+ - Any time you expect the user to choose from options
69784
+
69785
+ ### How to Use
69786
+ \`\`\`
69787
+ mcp_question({
69788
+ questions: [{
69789
+ header: "Confirm Action", // Max 30 chars
69790
+ question: "Ready to lock the specification and proceed to execution?",
69791
+ options: [
69792
+ { label: "Confirm", description: "Lock spec and start execution" },
69793
+ { label: "Amend", description: "Modify requirements first" },
69794
+ { label: "Cancel", description: "Return to planning" }
69795
+ ],
69796
+ multiple: false // true for multi-select
69797
+ }]
69798
+ })
69799
+ \`\`\`
69800
+
69801
+ ### Key Parameters
69802
+ - **header**: Short label (max 30 chars) shown above the question
69803
+ - **question**: Full question text
69804
+ - **options**: Array of choices with label + description
69805
+ - **multiple**: Set true to allow selecting multiple options
69806
+
69807
+ ### Anti-Pattern (Don't Do This)
69808
+ \`\`\`
69809
+ \u274C "Type 'confirm' to proceed, 'amend' to modify, or 'cancel' to abort"
69810
+ \`\`\`
69811
+
69812
+ ### Correct Pattern
69813
+ \`\`\`
69814
+ \u2705 Use mcp_question with structured options
69815
+ \`\`\`
69816
+
69817
+ The question tool provides a better UX with clickable options instead of requiring users to type exact keywords.
69818
+ `);
69193
69819
  return sections.join(`
69194
69820
  `);
69195
69821
  }