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.
- package/README.md +7 -7
- package/agents/goop-debugger.md +2 -2
- package/agents/goop-designer.md +2 -2
- package/agents/goop-executor.md +17 -7
- package/agents/goop-explorer.md +2 -2
- package/agents/goop-librarian.md +1 -1
- package/agents/goop-orchestrator.md +47 -5
- package/agents/goop-planner.md +3 -3
- package/agents/goop-researcher.md +2 -2
- package/agents/goop-tester.md +1 -1
- package/agents/goop-verifier.md +2 -2
- package/agents/goop-writer.md +1 -1
- package/agents/memory-distiller.md +2 -2
- package/commands/goop-accept.md +27 -401
- package/commands/goop-discuss.md +29 -393
- package/commands/goop-execute.md +22 -356
- package/commands/goop-map-codebase.md +44 -478
- package/commands/goop-plan.md +23 -499
- package/commands/goop-quick.md +58 -31
- package/commands/goop-setup.md +7 -4
- package/commands/goop-specify.md +26 -291
- package/commands/goop-status.md +26 -261
- package/dist/index.js +808 -182
- package/dist/worker/index.js +1 -1
- package/package.json +2 -1
- package/references/accept-process.md +402 -0
- package/references/context-injection.md +1 -1
- package/references/discovery-interview.md +1 -1
- package/references/discuss-process.md +383 -0
- package/references/dispatch-patterns.md +46 -21
- package/references/enforcement-system.md +1 -1
- package/references/execute-process.md +358 -0
- package/references/git-workflow.md +349 -0
- package/references/handoff-protocol.md +1 -1
- package/references/map-codebase-process.md +353 -0
- package/references/model-profiles.md +16 -16
- package/references/orchestrator-philosophy.md +1 -1
- package/references/phase-gates.md +1 -1
- package/references/plan-process.md +397 -0
- package/references/plugin-architecture.md +1 -1
- package/references/quick-process.md +343 -0
- package/references/response-format.md +2 -2
- package/references/specify-process.md +251 -0
- package/references/status-process.md +253 -0
- package/references/subagent-protocol.md +2 -2
- package/references/team-coordination.md +183 -0
- package/references/xml-response-schema.md +5 -5
- package/skills/accessibility/skill.md +1 -1
- package/skills/accessibility-testing/skill.md +1 -1
- package/skills/api-docs/skill.md +1 -1
- package/skills/architecture-design/skill.md +1 -1
- package/skills/atomic-commits/skill.md +92 -15
- package/skills/code-review/skill.md +1 -1
- package/skills/codebase-mapping/skill.md +1 -1
- package/skills/convention-detection/skill.md +1 -1
- package/skills/debugging/skill.md +1 -1
- package/skills/deviation-handling/skill.md +1 -1
- package/skills/documentation/skill.md +1 -1
- package/skills/goop-core/skill.md +48 -11
- package/skills/memory-usage/skill.md +1 -1
- package/skills/parallel-planning/skill.md +1 -1
- package/skills/pattern-extraction/skill.md +1 -1
- package/skills/performance-optimization/skill.md +1 -1
- package/skills/playwright/skill.md +1 -1
- package/skills/playwright-testing/skill.md +1 -1
- package/skills/progress-tracking/skill.md +1 -1
- package/skills/readme-generation/skill.md +1 -1
- package/skills/research/skill.md +1 -1
- package/skills/responsive-design/skill.md +1 -1
- package/skills/scientific-method/skill.md +1 -1
- package/skills/security-audit/skill.md +1 -1
- package/skills/task-decomposition/skill.md +1 -1
- package/skills/task-delegation/skill.md +60 -34
- package/skills/technical-writing/skill.md +1 -1
- package/skills/testing/skill.md +1 -1
- package/skills/ui-design/skill.md +1 -1
- package/skills/ux-patterns/skill.md +1 -1
- package/skills/verification/skill.md +1 -1
- package/skills/visual-regression/skill.md +1 -1
- package/templates/blueprint.md +1 -1
- package/templates/chronicle.md +1 -1
- package/templates/handoff.md +1 -1
- package/templates/milestone.md +1 -1
- package/templates/project.md +1 -1
- package/templates/requirements.md +1 -1
- package/templates/research.md +1 -1
- package/templates/retrospective.md +1 -1
- package/templates/spec.md +1 -1
- package/templates/state.md +1 -1
- 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
|
|
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 =
|
|
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
|
|
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:
|
|
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:
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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
|
|
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 =
|
|
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
|
|
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
|
|
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(
|
|
8127
|
-
const actualFormat = formats.get((is.object(
|
|
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(", ")}`,
|
|
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
|
|
8852
|
-
|
|
8853
|
-
|
|
8854
|
-
|
|
8855
|
-
|
|
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 &&
|
|
8884
|
-
|
|
8885
|
-
|
|
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 =
|
|
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: () =>
|
|
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
|
|
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(
|
|
10898
|
-
return strftime(/* @__PURE__ */ new Date,
|
|
10897
|
+
function strftime_now(format22) {
|
|
10898
|
+
return strftime(/* @__PURE__ */ new Date, format22);
|
|
10899
10899
|
}
|
|
10900
|
-
function strftime(date9,
|
|
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
|
|
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
|
|
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 =
|
|
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
|
|
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,
|
|
21807
|
-
if (!DECODE_TYPE_MAPPING.hasOwnProperty(
|
|
21808
|
-
throw new Error(`Format ${
|
|
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[
|
|
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
|
|
60582
|
-
import { join as
|
|
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 =
|
|
60598
|
-
if (!
|
|
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 =
|
|
60609
|
-
const hasSpec =
|
|
60610
|
-
const hasPlan =
|
|
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 =
|
|
60618
|
-
if (!
|
|
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 =
|
|
60624
|
-
if (
|
|
60625
|
-
const content =
|
|
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 =
|
|
60635
|
-
if (
|
|
60636
|
-
const content =
|
|
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 =
|
|
60653
|
-
if (!
|
|
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 =
|
|
60660
|
-
if (
|
|
60661
|
-
const content =
|
|
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 =
|
|
60678
|
-
if (
|
|
60679
|
-
const content =
|
|
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
|
|
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
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
62487
|
-
|
|
62488
|
-
|
|
62489
|
-
|
|
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
|
|
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
|
|
63365
|
+
import { existsSync as existsSync9, readFileSync as readFileSync8 } from "fs";
|
|
62862
63366
|
|
|
62863
63367
|
// src/core/opencode-config.ts
|
|
62864
|
-
import { existsSync as
|
|
62865
|
-
import { join as
|
|
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
|
|
63372
|
+
return join9(homedir2(), ".config", "opencode");
|
|
62869
63373
|
}
|
|
62870
63374
|
function getOpenCodeConfigPath() {
|
|
62871
|
-
return
|
|
63375
|
+
return join9(getOpenCodeConfigDir(), "config.json");
|
|
62872
63376
|
}
|
|
62873
63377
|
function readOpenCodeConfig(configDir) {
|
|
62874
|
-
const configPath = configDir ?
|
|
62875
|
-
if (!
|
|
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 =
|
|
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 =
|
|
63395
|
+
const configPath = join9(dir, "config.json");
|
|
62892
63396
|
try {
|
|
62893
|
-
if (!
|
|
62894
|
-
|
|
63397
|
+
if (!existsSync8(dir)) {
|
|
63398
|
+
mkdirSync4(dir, { recursive: true });
|
|
62895
63399
|
log(`Created OpenCode config directory: ${dir}`);
|
|
62896
63400
|
}
|
|
62897
|
-
|
|
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 ?
|
|
62915
|
-
return
|
|
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
|
|
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 =
|
|
63400
|
-
const hasProject =
|
|
63903
|
+
const hasGlobal = existsSync9(globalConfigPath);
|
|
63904
|
+
const hasProject = existsSync9(projectConfigPath);
|
|
63401
63905
|
const hasOpenCode = hasOpenCodeConfig();
|
|
63402
|
-
const hasGoopspecDir =
|
|
63403
|
-
const hasStateFile =
|
|
63404
|
-
const hasADLFile =
|
|
63405
|
-
const hasMemoryDir =
|
|
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-
|
|
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 (!
|
|
64079
|
+
if (!existsSync9(checkpointsDir)) {
|
|
63576
64080
|
dirsToCreate.push(checkpointsDir);
|
|
63577
64081
|
}
|
|
63578
|
-
if (!
|
|
64082
|
+
if (!existsSync9(historyDir)) {
|
|
63579
64083
|
dirsToCreate.push(historyDir);
|
|
63580
64084
|
}
|
|
63581
|
-
if (input.memory?.enabled !== false && !
|
|
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 (!
|
|
63619
|
-
|
|
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 (!
|
|
63633
|
-
|
|
64136
|
+
if (!existsSync9(dir)) {
|
|
64137
|
+
mkdirSync5(dir, { recursive: true });
|
|
63634
64138
|
}
|
|
63635
|
-
|
|
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 (!
|
|
63745
|
-
|
|
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 =
|
|
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
|
-
|
|
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
|
-
|
|
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 (
|
|
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 (
|
|
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 =
|
|
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 =
|
|
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.
|
|
64042
|
-
"anthropic/claude-opus-4-
|
|
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-
|
|
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.
|
|
64058
|
-
"anthropic/claude-opus-4-
|
|
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.
|
|
64085
|
-
"anthropic/claude-opus-4-
|
|
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.
|
|
64094
|
-
"anthropic/claude-opus-4-
|
|
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.
|
|
64120
|
-
"anthropic/claude-opus-4-
|
|
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-
|
|
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
|
|
65171
|
-
import { join as
|
|
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 (!
|
|
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 =
|
|
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 (!
|
|
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 =
|
|
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 =
|
|
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
|
|
66131
|
-
import { join as
|
|
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 =
|
|
66245
|
-
if (
|
|
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 &&
|
|
66834
|
+
if (templateDir && existsSync11(templateDir)) {
|
|
66251
66835
|
return templateDir;
|
|
66252
66836
|
}
|
|
66253
|
-
const devTemplates =
|
|
66254
|
-
if (
|
|
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 =
|
|
66263
|
-
if (!
|
|
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
|
|
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 =
|
|
66867
|
+
const phaseDir = join12(goopspecDir, "phases", sanitizePhaseName2(phaseName));
|
|
66284
66868
|
result.phaseDir = phaseDir;
|
|
66285
|
-
if (!
|
|
66286
|
-
|
|
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 =
|
|
66296
|
-
if (
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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) =>
|
|
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
|
-
## \
|
|
67642
|
+
## \u26A0\uFE0F MANDATORY NEXT STEP
|
|
67060
67643
|
|
|
67061
|
-
You
|
|
67644
|
+
You just used \`goop_delegate\` to engineer a prompt for **${delegation.agent}**.
|
|
67062
67645
|
|
|
67063
|
-
**
|
|
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
|
-
|
|
67067
|
-
|
|
67068
|
-
|
|
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
|
-
|
|
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
|
|
67233
|
-
import { join as
|
|
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
|
|
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
|
|
67522
|
-
import { join as
|
|
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 =
|
|
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
|
|
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 (!
|
|
68121
|
+
if (!existsSync13(todoFile)) {
|
|
67541
68122
|
return [];
|
|
67542
68123
|
}
|
|
67543
68124
|
try {
|
|
67544
|
-
const content =
|
|
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:
|
|
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-
|
|
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
|
}
|