lazycodex-ai 5.1.38 → 5.1.41
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli/index.js +229 -187
- package/dist/cli-node/index.js +229 -187
- package/package.json +1 -1
- package/packages/lsp-daemon/dist/cli.js +10 -0
- package/packages/lsp-daemon/dist/client.js +10 -0
- package/packages/lsp-daemon/dist/index.js +10 -0
- package/packages/lsp-tools-mcp/dist/cli.js +10 -0
- package/packages/lsp-tools-mcp/dist/lsp/manager.js +10 -0
- package/packages/lsp-tools-mcp/dist/mcp.js +10 -0
- package/packages/lsp-tools-mcp/dist/tools.js +10 -0
- package/packages/omo-codex/plugin/.codex-plugin/plugin.json +1 -1
- package/packages/omo-codex/plugin/components/bootstrap/dist/cli.js +24 -2
- package/packages/omo-codex/plugin/components/bootstrap/hooks/hooks.json +1 -1
- package/packages/omo-codex/plugin/components/bootstrap/package.json +1 -1
- package/packages/omo-codex/plugin/components/comment-checker/hooks/hooks.json +1 -1
- package/packages/omo-codex/plugin/components/comment-checker/package.json +1 -1
- package/packages/omo-codex/plugin/components/git-bash/hooks/hooks.json +2 -2
- package/packages/omo-codex/plugin/components/git-bash/package.json +1 -1
- package/packages/omo-codex/plugin/components/lazycodex-executor-verify/hooks/hooks.json +1 -1
- package/packages/omo-codex/plugin/components/lazycodex-executor-verify/package.json +1 -1
- package/packages/omo-codex/plugin/components/lsp/dist/.omo-runtime-manifest.json +3 -3
- package/packages/omo-codex/plugin/components/lsp/dist/cli.js +10 -0
- package/packages/omo-codex/plugin/components/lsp/hooks/hooks.json +2 -2
- package/packages/omo-codex/plugin/components/lsp/package.json +1 -1
- package/packages/omo-codex/plugin/components/rules/hooks/hooks.json +4 -4
- package/packages/omo-codex/plugin/components/rules/package.json +1 -1
- package/packages/omo-codex/plugin/components/teammode/hooks/hooks.json +1 -1
- package/packages/omo-codex/plugin/components/teammode/package.json +1 -1
- package/packages/omo-codex/plugin/components/telemetry/dist/cli.js +157 -151
- package/packages/omo-codex/plugin/components/telemetry/dist/posthog.js +157 -151
- package/packages/omo-codex/plugin/components/telemetry/hooks/hooks.json +1 -1
- package/packages/omo-codex/plugin/components/telemetry/package.json +1 -1
- package/packages/omo-codex/plugin/components/ultrawork/hooks/hooks.json +1 -1
- package/packages/omo-codex/plugin/components/ultrawork/package.json +1 -1
- package/packages/omo-codex/plugin/components/ultrawork/skills/ulw-plan/SKILL.md +1 -1
- package/packages/omo-codex/plugin/components/ultrawork/skills/ulw-plan/references/full-workflow.md +5 -4
- package/packages/omo-codex/plugin/components/ulw-execute-continuation/hooks/hooks.json +1 -1
- package/packages/omo-codex/plugin/components/ulw-execute-continuation/package.json +1 -1
- package/packages/omo-codex/plugin/components/ulw-loop/hooks/hooks.json +5 -5
- package/packages/omo-codex/plugin/components/ulw-loop/package.json +1 -1
- package/packages/omo-codex/plugin/hooks/post-compact-resetting-git-bash-mcp-reminder.json +1 -1
- package/packages/omo-codex/plugin/hooks/post-compact-resetting-lsp-diagnostics-cache.json +1 -1
- package/packages/omo-codex/plugin/hooks/post-compact-resetting-project-rule-cache.json +1 -1
- package/packages/omo-codex/plugin/hooks/post-tool-use-checking-comments.json +1 -1
- package/packages/omo-codex/plugin/hooks/post-tool-use-checking-lsp-diagnostics.json +1 -1
- package/packages/omo-codex/plugin/hooks/post-tool-use-checking-thread-title-hygiene.json +1 -1
- package/packages/omo-codex/plugin/hooks/post-tool-use-matching-project-rules.json +1 -1
- package/packages/omo-codex/plugin/hooks/post-tool-use-recording-spawn-admission.json +1 -1
- package/packages/omo-codex/plugin/hooks/pre-tool-use-enforcing-unlimited-goal-budget.json +1 -1
- package/packages/omo-codex/plugin/hooks/pre-tool-use-guarding-ulw-loop-spawns.json +1 -1
- package/packages/omo-codex/plugin/hooks/pre-tool-use-recommending-git-bash-mcp.json +1 -1
- package/packages/omo-codex/plugin/hooks/session-start-checking-auto-update.json +1 -1
- package/packages/omo-codex/plugin/hooks/session-start-checking-bootstrap-provisioning.json +1 -1
- package/packages/omo-codex/plugin/hooks/session-start-loading-project-rules.json +1 -1
- package/packages/omo-codex/plugin/hooks/session-start-recording-session-telemetry.json +1 -1
- package/packages/omo-codex/plugin/hooks/stop-checking-ulw-execute-continuation.json +1 -1
- package/packages/omo-codex/plugin/hooks/stop-checking-ulw-loop-resume.json +1 -1
- package/packages/omo-codex/plugin/hooks/subagent-stop-verifying-lazycodex-executor-evidence.json +1 -1
- package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ultrawork-trigger.json +1 -1
- package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ulw-loop-steering.json +1 -1
- package/packages/omo-codex/plugin/hooks/user-prompt-submit-loading-project-rules.json +1 -1
- package/packages/omo-codex/plugin/package-lock.json +12 -12
- package/packages/omo-codex/plugin/package.json +1 -1
- package/packages/omo-codex/plugin/skills/browser/runtime/omowright/manifest.json +1 -1
- package/packages/omo-codex/plugin/skills/frontend/SKILL.md +6 -6
- package/packages/omo-codex/plugin/skills/frontend/references/design/README.md +2 -2
- package/packages/omo-codex/plugin/skills/frontend/references/perfection/README.md +2 -2
- package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/accent-stripes/declarations.ts +22 -13
- package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/accent-stripes/findings.ts +7 -6
- package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/accent-stripes/lint.ts +18 -24
- package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/accent-stripes/markup.ts +14 -7
- package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/accent-stripes/selector.ts +5 -1
- package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/accent-stripes/tailwind.ts +32 -14
- package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/check-accent-stripes.ts +1 -1
- package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/accent-stripes/negative/inline-ok.tsx +1 -0
- package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/accent-stripes/negative/neutral-and-flat.css +1 -1
- package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/accent-stripes/negative/tailwind-ok.tsx +5 -2
- package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/accent-stripes/negative/uniform-and-rings.css +2 -2
- package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/accent-stripes/positive/accent-outlines.css +4 -0
- package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/accent-stripes/positive/accent-outlines.tsx +8 -0
- package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/accent-stripes/{negative → positive}/flat-stripe-side.tsx +3 -1
- package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/accent-stripes/positive/report-callouts.html +8 -0
- package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/accent-stripes/positive/square-surfaces.css +8 -0
- package/packages/omo-codex/plugin/skills/git-master/SKILL.md +1 -1
- package/packages/omo-codex/plugin/skills/ulw-plan/SKILL.md +1 -1
- package/packages/omo-codex/plugin/skills/ulw-plan/references/full-workflow.md +5 -4
- package/packages/omo-codex/plugin/skills/ulw-research/SKILL.md +10 -2
- package/packages/omo-codex/plugin/skills/ulw-research/references/deliverable-phase.md +10 -0
- package/packages/omo-codex/plugin/skills/ulw-research/references/report-visualization.md +23 -0
- package/packages/omo-codex/scripts/install-dist/install-local.mjs +195 -168
- package/packages/shared-skills/skills/browser/runtime/omowright/manifest.json +1 -1
- package/packages/shared-skills/skills/frontend/SKILL.md +6 -6
- package/packages/shared-skills/skills/frontend/references/design/README.md +2 -2
- package/packages/shared-skills/skills/frontend/references/perfection/README.md +2 -2
- package/packages/shared-skills/skills/frontend/scripts/perfection/accent-stripes/declarations.ts +22 -13
- package/packages/shared-skills/skills/frontend/scripts/perfection/accent-stripes/findings.ts +7 -6
- package/packages/shared-skills/skills/frontend/scripts/perfection/accent-stripes/lint.ts +18 -24
- package/packages/shared-skills/skills/frontend/scripts/perfection/accent-stripes/markup.ts +14 -7
- package/packages/shared-skills/skills/frontend/scripts/perfection/accent-stripes/selector.ts +5 -1
- package/packages/shared-skills/skills/frontend/scripts/perfection/accent-stripes/tailwind.ts +32 -14
- package/packages/shared-skills/skills/frontend/scripts/perfection/check-accent-stripes.test.ts +15 -6
- package/packages/shared-skills/skills/frontend/scripts/perfection/check-accent-stripes.ts +1 -1
- package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/accent-stripes/negative/inline-ok.tsx +1 -0
- package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/accent-stripes/negative/neutral-and-flat.css +1 -1
- package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/accent-stripes/negative/tailwind-ok.tsx +5 -2
- package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/accent-stripes/negative/uniform-and-rings.css +2 -2
- package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/accent-stripes/positive/accent-outlines.css +4 -0
- package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/accent-stripes/positive/accent-outlines.tsx +8 -0
- package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/accent-stripes/{negative → positive}/flat-stripe-side.tsx +3 -1
- package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/accent-stripes/positive/report-callouts.html +8 -0
- package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/accent-stripes/positive/square-surfaces.css +8 -0
- package/packages/shared-skills/skills/git-master/SKILL.md +1 -1
- package/packages/shared-skills/skills/ulw-plan/SKILL.md +1 -1
- package/packages/shared-skills/skills/ulw-plan/references/full-workflow.md +5 -4
- package/packages/shared-skills/skills/ulw-research/SKILL.md +10 -2
- package/packages/shared-skills/skills/ulw-research/references/deliverable-phase.md +10 -0
- package/packages/shared-skills/skills/ulw-research/references/report-visualization.md +23 -0
package/dist/cli-node/index.js
CHANGED
|
@@ -2133,7 +2133,7 @@ var package_default;
|
|
|
2133
2133
|
var init_package = __esm(() => {
|
|
2134
2134
|
package_default = {
|
|
2135
2135
|
name: "oh-my-opencode",
|
|
2136
|
-
version: "5.1.
|
|
2136
|
+
version: "5.1.41",
|
|
2137
2137
|
description: "The Best AI Agent Harness - Batteries-Included OpenCode Plugin with Multi-Model Orchestration, Parallel Background Agents, and Crafted LSP/AST Tools",
|
|
2138
2138
|
main: "./dist/index.js",
|
|
2139
2139
|
types: "dist/index.d.ts",
|
|
@@ -2310,7 +2310,7 @@ var init_package = __esm(() => {
|
|
|
2310
2310
|
},
|
|
2311
2311
|
devDependencies: {
|
|
2312
2312
|
"@clack/prompts": "^1.8.1",
|
|
2313
|
-
"@code-yeongyu/senpi": "2026.10.
|
|
2313
|
+
"@code-yeongyu/senpi": "2026.10.21-1",
|
|
2314
2314
|
"@modelcontextprotocol/sdk": "^1.30.0",
|
|
2315
2315
|
"@oh-my-opencode/agents-md-core": "workspace:*",
|
|
2316
2316
|
"@oh-my-opencode/ast-grep-mcp": "workspace:*",
|
|
@@ -2351,6 +2351,7 @@ var init_package = __esm(() => {
|
|
|
2351
2351
|
"@opentui/core": "^0.5.11",
|
|
2352
2352
|
"@opentui/keymap": "^0.5.11",
|
|
2353
2353
|
"@types/js-yaml": "^4.0.9",
|
|
2354
|
+
"@types/node": "26.6.2",
|
|
2354
2355
|
"@types/picomatch": "^4.0.3",
|
|
2355
2356
|
"@typescript/native-preview": "7.0.0-dev.20260707.2",
|
|
2356
2357
|
"@typescript/typescript6": "6.0.2",
|
|
@@ -2370,18 +2371,18 @@ var init_package = __esm(() => {
|
|
|
2370
2371
|
typescript: "^7.0.2"
|
|
2371
2372
|
},
|
|
2372
2373
|
optionalDependencies: {
|
|
2373
|
-
"oh-my-opencode-darwin-arm64": "5.1.
|
|
2374
|
-
"oh-my-opencode-darwin-x64": "5.1.
|
|
2375
|
-
"oh-my-opencode-darwin-x64-baseline": "5.1.
|
|
2376
|
-
"oh-my-opencode-linux-arm64": "5.1.
|
|
2377
|
-
"oh-my-opencode-linux-arm64-musl": "5.1.
|
|
2378
|
-
"oh-my-opencode-linux-x64": "5.1.
|
|
2379
|
-
"oh-my-opencode-linux-x64-baseline": "5.1.
|
|
2380
|
-
"oh-my-opencode-linux-x64-musl": "5.1.
|
|
2381
|
-
"oh-my-opencode-linux-x64-musl-baseline": "5.1.
|
|
2382
|
-
"oh-my-opencode-windows-arm64": "5.1.
|
|
2383
|
-
"oh-my-opencode-windows-x64": "5.1.
|
|
2384
|
-
"oh-my-opencode-windows-x64-baseline": "5.1.
|
|
2374
|
+
"oh-my-opencode-darwin-arm64": "5.1.41",
|
|
2375
|
+
"oh-my-opencode-darwin-x64": "5.1.41",
|
|
2376
|
+
"oh-my-opencode-darwin-x64-baseline": "5.1.41",
|
|
2377
|
+
"oh-my-opencode-linux-arm64": "5.1.41",
|
|
2378
|
+
"oh-my-opencode-linux-arm64-musl": "5.1.41",
|
|
2379
|
+
"oh-my-opencode-linux-x64": "5.1.41",
|
|
2380
|
+
"oh-my-opencode-linux-x64-baseline": "5.1.41",
|
|
2381
|
+
"oh-my-opencode-linux-x64-musl": "5.1.41",
|
|
2382
|
+
"oh-my-opencode-linux-x64-musl-baseline": "5.1.41",
|
|
2383
|
+
"oh-my-opencode-windows-arm64": "5.1.41",
|
|
2384
|
+
"oh-my-opencode-windows-x64": "5.1.41",
|
|
2385
|
+
"oh-my-opencode-windows-x64-baseline": "5.1.41"
|
|
2385
2386
|
},
|
|
2386
2387
|
overrides: {
|
|
2387
2388
|
hono: "^4.13.8",
|
|
@@ -76859,17 +76860,23 @@ var init_computer = __esm(() => {
|
|
|
76859
76860
|
});
|
|
76860
76861
|
|
|
76861
76862
|
// packages/omo-config-core/src/schema/git-master.ts
|
|
76862
|
-
var OmoGitMasterSettingsShape, OmoGitMasterSettingsLayerSchema, OmoGitMasterSettingsSchema;
|
|
76863
|
+
var GIT_ENV_ASSIGNMENT_PATTERN, GitEnvPrefixSchema, OmoGitMasterSettingsShape, OmoGitMasterSettingsLayerSchema, OmoGitMasterSettingsSchema;
|
|
76863
76864
|
var init_git_master = __esm(() => {
|
|
76864
76865
|
init_zod();
|
|
76866
|
+
GIT_ENV_ASSIGNMENT_PATTERN = /^(?:[A-Za-z_][A-Za-z0-9_]*=[A-Za-z0-9_-]*)(?: [A-Za-z_][A-Za-z0-9_]*=[A-Za-z0-9_-]*)*$/;
|
|
76867
|
+
GitEnvPrefixSchema = string2().refine((value) => value === "" || GIT_ENV_ASSIGNMENT_PATTERN.test(value), {
|
|
76868
|
+
message: 'git_env_prefix must be empty or use shell-safe env assignments like "GIT_MASTER=1"'
|
|
76869
|
+
});
|
|
76865
76870
|
OmoGitMasterSettingsShape = {
|
|
76866
76871
|
commit_footer: union([boolean2(), string2()]),
|
|
76867
|
-
include_co_authored_by: boolean2()
|
|
76872
|
+
include_co_authored_by: boolean2(),
|
|
76873
|
+
git_env_prefix: GitEnvPrefixSchema
|
|
76868
76874
|
};
|
|
76869
76875
|
OmoGitMasterSettingsLayerSchema = object(OmoGitMasterSettingsShape).partial().strict();
|
|
76870
76876
|
OmoGitMasterSettingsSchema = OmoGitMasterSettingsLayerSchema.extend({
|
|
76871
76877
|
commit_footer: union([boolean2(), string2()]).default(false),
|
|
76872
|
-
include_co_authored_by: boolean2().default(false)
|
|
76878
|
+
include_co_authored_by: boolean2().default(false),
|
|
76879
|
+
git_env_prefix: GitEnvPrefixSchema.default("GIT_MASTER=1")
|
|
76873
76880
|
}).strict();
|
|
76874
76881
|
});
|
|
76875
76882
|
|
|
@@ -76884,10 +76891,29 @@ var init_harness = __esm(() => {
|
|
|
76884
76891
|
OMO_CONFIG_LEGACY_HARNESS_IDS = Object.keys(OMO_CONFIG_LEGACY_HARNESS_ALIASES);
|
|
76885
76892
|
});
|
|
76886
76893
|
|
|
76894
|
+
// packages/omo-config-core/src/schema/memory-agreements.ts
|
|
76895
|
+
var OMO_MEMORY_AGREEMENTS_DEFAULTS, OmoMemoryAgreementsSchema, OmoMemoryAgreementsLayerSchema;
|
|
76896
|
+
var init_memory_agreements = __esm(() => {
|
|
76897
|
+
init_zod();
|
|
76898
|
+
OMO_MEMORY_AGREEMENTS_DEFAULTS = { enabled: true, needs_human_threshold: 3, max_items: 64 };
|
|
76899
|
+
OmoMemoryAgreementsSchema = object({
|
|
76900
|
+
enabled: boolean2().default(OMO_MEMORY_AGREEMENTS_DEFAULTS.enabled),
|
|
76901
|
+
needs_human_threshold: number2().int().min(1).default(OMO_MEMORY_AGREEMENTS_DEFAULTS.needs_human_threshold),
|
|
76902
|
+
max_items: number2().int().min(8).max(256).default(OMO_MEMORY_AGREEMENTS_DEFAULTS.max_items)
|
|
76903
|
+
}).strict();
|
|
76904
|
+
OmoMemoryAgreementsLayerSchema = object({
|
|
76905
|
+
enabled: boolean2().optional(),
|
|
76906
|
+
needs_human_threshold: number2().int().min(1).optional(),
|
|
76907
|
+
max_items: number2().int().min(8).max(256).optional()
|
|
76908
|
+
}).strict();
|
|
76909
|
+
});
|
|
76910
|
+
|
|
76887
76911
|
// packages/omo-config-core/src/schema/memory.ts
|
|
76888
76912
|
var OmoMemoryReflectionTriggerSchema, OmoMemoryReflectionSchema, OmoMemorySyncSchema, OmoMemorySearchSchema, OmoMemoryRecallEventCapsSchema, OmoMemoryRecallSchema, OmoMemoryNudgeSchema, OmoMemoryFactsSchema, OmoMemoryDreamSchema, OmoMemoryPeopleSchema, OmoMemorySoulSchema, OmoMemoryWriteNoticeSchema, OmoMemoryReflectionTriggerLayerSchema, OmoMemoryReflectionLayerSchema, OmoMemorySyncLayerSchema, OmoMemorySearchLayerSchema, OmoMemoryRecallEventCapsLayerSchema, OmoMemoryRecallLayerSchema, OmoMemoryNudgeLayerSchema, OmoMemoryFactsLayerSchema, OmoMemoryDreamLayerSchema, OmoMemoryPeopleLayerSchema, OmoMemorySoulLayerSchema, OmoMemoryWriteNoticeLayerSchema, OmoMemoryProjectionSchema, OmoMemoryProjectionLayerSchema, OmoMemoryAgentOverridesSchema, OmoMemorySettingsSchema, OmoMemorySettingsLayerSchema;
|
|
76889
76913
|
var init_memory = __esm(() => {
|
|
76890
76914
|
init_zod();
|
|
76915
|
+
init_memory_agreements();
|
|
76916
|
+
init_memory_agreements();
|
|
76891
76917
|
OmoMemoryReflectionTriggerSchema = object({
|
|
76892
76918
|
step_count: number2().int().nonnegative().default(25),
|
|
76893
76919
|
on_compaction: boolean2().default(true)
|
|
@@ -77030,6 +77056,7 @@ var init_memory = __esm(() => {
|
|
|
77030
77056
|
facts: OmoMemoryFactsLayerSchema.optional(),
|
|
77031
77057
|
dream: OmoMemoryDreamLayerSchema.optional(),
|
|
77032
77058
|
people: OmoMemoryPeopleLayerSchema.optional(),
|
|
77059
|
+
agreements: OmoMemoryAgreementsLayerSchema.optional(),
|
|
77033
77060
|
soul: OmoMemorySoulLayerSchema.optional(),
|
|
77034
77061
|
write_notice: OmoMemoryWriteNoticeLayerSchema.optional(),
|
|
77035
77062
|
sync: OmoMemorySyncLayerSchema.optional(),
|
|
@@ -77060,6 +77087,7 @@ var init_memory = __esm(() => {
|
|
|
77060
77087
|
auto_select_max_chars: 150000
|
|
77061
77088
|
}),
|
|
77062
77089
|
people: OmoMemoryPeopleSchema.default({ enabled: true, max_entries: 40, max_entry_chars: 200 }),
|
|
77090
|
+
agreements: OmoMemoryAgreementsSchema.default(OMO_MEMORY_AGREEMENTS_DEFAULTS),
|
|
77063
77091
|
soul: OmoMemorySoulSchema.default({ edit_notice: true }),
|
|
77064
77092
|
write_notice: OmoMemoryWriteNoticeSchema.default({ enabled: true }),
|
|
77065
77093
|
sync: OmoMemorySyncSchema.default({ enabled: true }),
|
|
@@ -77086,6 +77114,7 @@ var init_memory = __esm(() => {
|
|
|
77086
77114
|
facts: OmoMemoryFactsLayerSchema.optional(),
|
|
77087
77115
|
dream: OmoMemoryDreamLayerSchema.optional(),
|
|
77088
77116
|
people: OmoMemoryPeopleLayerSchema.optional(),
|
|
77117
|
+
agreements: OmoMemoryAgreementsLayerSchema.optional(),
|
|
77089
77118
|
soul: OmoMemorySoulLayerSchema.optional(),
|
|
77090
77119
|
write_notice: OmoMemoryWriteNoticeLayerSchema.optional(),
|
|
77091
77120
|
sync: OmoMemorySyncLayerSchema.optional(),
|
|
@@ -82604,6 +82633,163 @@ var init_event_id = __esm(() => {
|
|
|
82604
82633
|
fallbackEventId = createUuidV7Generator();
|
|
82605
82634
|
});
|
|
82606
82635
|
|
|
82636
|
+
// packages/telemetry-core/src/machine-id.ts
|
|
82637
|
+
import { createHash as createHash5 } from "node:crypto";
|
|
82638
|
+
import os4 from "node:os";
|
|
82639
|
+
function getDefaultTelemetryOsProvider() {
|
|
82640
|
+
return os4;
|
|
82641
|
+
}
|
|
82642
|
+
function getTelemetryDistinctId(machineIdPrefix, osProvider = getDefaultTelemetryOsProvider()) {
|
|
82643
|
+
return createHash5("sha256").update(`${machineIdPrefix}${osProvider.hostname()}`).digest("hex");
|
|
82644
|
+
}
|
|
82645
|
+
var init_machine_id = () => {};
|
|
82646
|
+
|
|
82647
|
+
// packages/telemetry-core/src/injected-client.ts
|
|
82648
|
+
function isTelemetryClientEnabled(input) {
|
|
82649
|
+
const env = input.env ?? process.env;
|
|
82650
|
+
return !shouldDisableTelemetry({ env, productEnvPrefix: input.product.productEnvPrefix }) && hasTelemetryApiKey(env, input.product.defaultApiKey);
|
|
82651
|
+
}
|
|
82652
|
+
function createTelemetryClient(input) {
|
|
82653
|
+
if (!isTelemetryClientEnabled(input)) {
|
|
82654
|
+
return NO_OP_CLIENT;
|
|
82655
|
+
}
|
|
82656
|
+
const transport = createTransport(input);
|
|
82657
|
+
if (transport === null) {
|
|
82658
|
+
return NO_OP_CLIENT;
|
|
82659
|
+
}
|
|
82660
|
+
const sharedProperties = getSharedProperties(input);
|
|
82661
|
+
return {
|
|
82662
|
+
enabled: true,
|
|
82663
|
+
trackActive: ({ dayUTC, distinctId, reason }) => {
|
|
82664
|
+
try {
|
|
82665
|
+
transport.capture({
|
|
82666
|
+
distinctId,
|
|
82667
|
+
event: input.product.eventName,
|
|
82668
|
+
properties: {
|
|
82669
|
+
...sharedProperties,
|
|
82670
|
+
$process_person_profile: false,
|
|
82671
|
+
day_utc: dayUTC,
|
|
82672
|
+
reason
|
|
82673
|
+
}
|
|
82674
|
+
});
|
|
82675
|
+
} catch (error) {
|
|
82676
|
+
input.diagnostics?.({
|
|
82677
|
+
event: "telemetry_capture_failed",
|
|
82678
|
+
source: input.source,
|
|
82679
|
+
error,
|
|
82680
|
+
errorKind: error instanceof Error ? "error" : "non_error"
|
|
82681
|
+
});
|
|
82682
|
+
}
|
|
82683
|
+
},
|
|
82684
|
+
flush: async () => {
|
|
82685
|
+
if (transport.flush === undefined) {
|
|
82686
|
+
return;
|
|
82687
|
+
}
|
|
82688
|
+
await transport.flush();
|
|
82689
|
+
},
|
|
82690
|
+
shutdown: async () => {
|
|
82691
|
+
try {
|
|
82692
|
+
await transport.shutdown();
|
|
82693
|
+
} catch (error) {
|
|
82694
|
+
input.diagnostics?.({
|
|
82695
|
+
event: "telemetry_shutdown_failed",
|
|
82696
|
+
source: input.source,
|
|
82697
|
+
error,
|
|
82698
|
+
errorKind: error instanceof Error ? "error" : "non_error"
|
|
82699
|
+
});
|
|
82700
|
+
}
|
|
82701
|
+
}
|
|
82702
|
+
};
|
|
82703
|
+
}
|
|
82704
|
+
function createTransport(input) {
|
|
82705
|
+
const env = input.env ?? process.env;
|
|
82706
|
+
const factory = input.transportFactory;
|
|
82707
|
+
try {
|
|
82708
|
+
return factory(getTelemetryApiKey(env, input.product.defaultApiKey), {
|
|
82709
|
+
enableExceptionAutocapture: false,
|
|
82710
|
+
enableLocalEvaluation: false,
|
|
82711
|
+
strictLocalEvaluation: true,
|
|
82712
|
+
disableRemoteConfig: true,
|
|
82713
|
+
flushAt: 1,
|
|
82714
|
+
flushInterval: 0,
|
|
82715
|
+
host: getTelemetryHost(env, input.product.defaultHost),
|
|
82716
|
+
disableGeoip: input.product.disableGeoip ?? false,
|
|
82717
|
+
...input.product.transportOptions
|
|
82718
|
+
});
|
|
82719
|
+
} catch (error) {
|
|
82720
|
+
input.diagnostics?.({
|
|
82721
|
+
event: "telemetry_posthog_init_failed",
|
|
82722
|
+
source: input.source,
|
|
82723
|
+
error,
|
|
82724
|
+
errorKind: error instanceof Error ? "error" : "non_error"
|
|
82725
|
+
});
|
|
82726
|
+
return null;
|
|
82727
|
+
}
|
|
82728
|
+
}
|
|
82729
|
+
function getSharedProperties(input) {
|
|
82730
|
+
const osProvider = input.osProvider ?? getDefaultTelemetryOsProvider();
|
|
82731
|
+
const cpuInfo = getSafeCpuInfo(osProvider, input);
|
|
82732
|
+
return {
|
|
82733
|
+
platform: input.product.platform,
|
|
82734
|
+
product_name: input.product.productName,
|
|
82735
|
+
package_name: input.product.packageName,
|
|
82736
|
+
package_version: input.product.packageVersion,
|
|
82737
|
+
runtime: "bun",
|
|
82738
|
+
runtime_version: process.versions.bun ?? process.version,
|
|
82739
|
+
source: input.source,
|
|
82740
|
+
$os: osProvider.platform(),
|
|
82741
|
+
$os_version: osProvider.release(),
|
|
82742
|
+
os_arch: osProvider.arch(),
|
|
82743
|
+
os_type: osProvider.type(),
|
|
82744
|
+
cpu_count: cpuInfo.count,
|
|
82745
|
+
cpu_model: cpuInfo.model,
|
|
82746
|
+
total_memory_gb: Math.round(osProvider.totalmem() / 1024 / 1024 / 1024),
|
|
82747
|
+
locale: Intl.DateTimeFormat().resolvedOptions().locale,
|
|
82748
|
+
timezone: Intl.DateTimeFormat().resolvedOptions().timeZone,
|
|
82749
|
+
shell: process.env.SHELL,
|
|
82750
|
+
ci: Boolean(process.env.CI),
|
|
82751
|
+
terminal: process.env.TERM_PROGRAM,
|
|
82752
|
+
...input.product.additionalProperties
|
|
82753
|
+
};
|
|
82754
|
+
}
|
|
82755
|
+
function getSafeCpuInfo(osProvider, input) {
|
|
82756
|
+
try {
|
|
82757
|
+
const cpuInfo = osProvider.cpus();
|
|
82758
|
+
return {
|
|
82759
|
+
count: cpuInfo.length,
|
|
82760
|
+
model: cpuInfo[0]?.model
|
|
82761
|
+
};
|
|
82762
|
+
} catch (error) {
|
|
82763
|
+
input.diagnostics?.({
|
|
82764
|
+
event: "telemetry_cpu_info_unavailable",
|
|
82765
|
+
source: "shared",
|
|
82766
|
+
error,
|
|
82767
|
+
errorKind: error instanceof Error ? "error" : "non_error"
|
|
82768
|
+
});
|
|
82769
|
+
return {
|
|
82770
|
+
count: 0,
|
|
82771
|
+
model: undefined
|
|
82772
|
+
};
|
|
82773
|
+
}
|
|
82774
|
+
}
|
|
82775
|
+
var NO_OP_CLIENT;
|
|
82776
|
+
var init_injected_client = __esm(() => {
|
|
82777
|
+
init_env();
|
|
82778
|
+
init_machine_id();
|
|
82779
|
+
NO_OP_CLIENT = {
|
|
82780
|
+
enabled: false,
|
|
82781
|
+
trackActive: () => {
|
|
82782
|
+
return;
|
|
82783
|
+
},
|
|
82784
|
+
flush: async () => {
|
|
82785
|
+
return;
|
|
82786
|
+
},
|
|
82787
|
+
shutdown: async () => {
|
|
82788
|
+
return;
|
|
82789
|
+
}
|
|
82790
|
+
};
|
|
82791
|
+
});
|
|
82792
|
+
|
|
82607
82793
|
// node_modules/.bun/posthog-node@5.52.4/node_modules/posthog-node/dist/extensions/error-tracking/modifiers/module.node.mjs
|
|
82608
82794
|
import { dirname as dirname18, posix as posix7, sep as sep7 } from "path";
|
|
82609
82795
|
function createModulerModifier() {
|
|
@@ -91977,18 +92163,7 @@ var init_index_node = __esm(() => {
|
|
|
91977
92163
|
};
|
|
91978
92164
|
});
|
|
91979
92165
|
|
|
91980
|
-
// packages/telemetry-core/src/
|
|
91981
|
-
import { createHash as createHash5 } from "node:crypto";
|
|
91982
|
-
import os4 from "node:os";
|
|
91983
|
-
function getDefaultTelemetryOsProvider() {
|
|
91984
|
-
return os4;
|
|
91985
|
-
}
|
|
91986
|
-
function getTelemetryDistinctId(machineIdPrefix, osProvider = getDefaultTelemetryOsProvider()) {
|
|
91987
|
-
return createHash5("sha256").update(`${machineIdPrefix}${osProvider.hostname()}`).digest("hex");
|
|
91988
|
-
}
|
|
91989
|
-
var init_machine_id = () => {};
|
|
91990
|
-
|
|
91991
|
-
// packages/telemetry-core/src/posthog-client.ts
|
|
92166
|
+
// packages/telemetry-core/src/posthog-transport.ts
|
|
91992
92167
|
class PostHogTelemetryTransport {
|
|
91993
92168
|
#client;
|
|
91994
92169
|
constructor(apiKey, options) {
|
|
@@ -92007,161 +92182,21 @@ class PostHogTelemetryTransport {
|
|
|
92007
92182
|
function createDefaultPostHogTransport(apiKey, options) {
|
|
92008
92183
|
return new PostHogTelemetryTransport(apiKey, options);
|
|
92009
92184
|
}
|
|
92010
|
-
|
|
92011
|
-
const env = input.env ?? process.env;
|
|
92012
|
-
return !shouldDisableTelemetry({ env, productEnvPrefix: input.product.productEnvPrefix }) && hasTelemetryApiKey(env, input.product.defaultApiKey);
|
|
92013
|
-
}
|
|
92014
|
-
function createTelemetryClient(input) {
|
|
92015
|
-
if (!isTelemetryClientEnabled(input)) {
|
|
92016
|
-
return NO_OP_CLIENT;
|
|
92017
|
-
}
|
|
92018
|
-
const transport = createTransport(input);
|
|
92019
|
-
if (transport === null) {
|
|
92020
|
-
return NO_OP_CLIENT;
|
|
92021
|
-
}
|
|
92022
|
-
const sharedProperties = getSharedProperties(input);
|
|
92023
|
-
return {
|
|
92024
|
-
enabled: true,
|
|
92025
|
-
trackActive: ({ dayUTC, distinctId, reason }) => {
|
|
92026
|
-
try {
|
|
92027
|
-
transport.capture({
|
|
92028
|
-
distinctId,
|
|
92029
|
-
event: input.product.eventName,
|
|
92030
|
-
properties: {
|
|
92031
|
-
...sharedProperties,
|
|
92032
|
-
$process_person_profile: false,
|
|
92033
|
-
day_utc: dayUTC,
|
|
92034
|
-
reason
|
|
92035
|
-
}
|
|
92036
|
-
});
|
|
92037
|
-
} catch (error) {
|
|
92038
|
-
input.diagnostics?.({
|
|
92039
|
-
event: "telemetry_capture_failed",
|
|
92040
|
-
source: input.source,
|
|
92041
|
-
error,
|
|
92042
|
-
errorKind: error instanceof Error ? "error" : "non_error"
|
|
92043
|
-
});
|
|
92044
|
-
}
|
|
92045
|
-
},
|
|
92046
|
-
flush: async () => {
|
|
92047
|
-
if (transport.flush === undefined) {
|
|
92048
|
-
return;
|
|
92049
|
-
}
|
|
92050
|
-
await transport.flush();
|
|
92051
|
-
},
|
|
92052
|
-
shutdown: async () => {
|
|
92053
|
-
try {
|
|
92054
|
-
await transport.shutdown();
|
|
92055
|
-
} catch (error) {
|
|
92056
|
-
input.diagnostics?.({
|
|
92057
|
-
event: "telemetry_shutdown_failed",
|
|
92058
|
-
source: input.source,
|
|
92059
|
-
error,
|
|
92060
|
-
errorKind: error instanceof Error ? "error" : "non_error"
|
|
92061
|
-
});
|
|
92062
|
-
}
|
|
92063
|
-
}
|
|
92064
|
-
};
|
|
92065
|
-
}
|
|
92066
|
-
function createTransport(input) {
|
|
92067
|
-
const env = input.env ?? process.env;
|
|
92068
|
-
const factory = input.transportFactory ?? createDefaultPostHogTransport;
|
|
92069
|
-
try {
|
|
92070
|
-
return factory(getTelemetryApiKey(env, input.product.defaultApiKey), {
|
|
92071
|
-
enableExceptionAutocapture: false,
|
|
92072
|
-
enableLocalEvaluation: false,
|
|
92073
|
-
strictLocalEvaluation: true,
|
|
92074
|
-
disableRemoteConfig: true,
|
|
92075
|
-
flushAt: 1,
|
|
92076
|
-
flushInterval: 0,
|
|
92077
|
-
host: getTelemetryHost(env, input.product.defaultHost),
|
|
92078
|
-
disableGeoip: input.product.disableGeoip ?? false,
|
|
92079
|
-
...input.product.transportOptions
|
|
92080
|
-
});
|
|
92081
|
-
} catch (error) {
|
|
92082
|
-
input.diagnostics?.({
|
|
92083
|
-
event: "telemetry_posthog_init_failed",
|
|
92084
|
-
source: input.source,
|
|
92085
|
-
error,
|
|
92086
|
-
errorKind: error instanceof Error ? "error" : "non_error"
|
|
92087
|
-
});
|
|
92088
|
-
return null;
|
|
92089
|
-
}
|
|
92090
|
-
}
|
|
92091
|
-
function getSharedProperties(input) {
|
|
92092
|
-
const osProvider = input.osProvider ?? getDefaultTelemetryOsProvider();
|
|
92093
|
-
const cpuInfo = getSafeCpuInfo(osProvider, input);
|
|
92094
|
-
return {
|
|
92095
|
-
platform: input.product.platform,
|
|
92096
|
-
product_name: input.product.productName,
|
|
92097
|
-
package_name: input.product.packageName,
|
|
92098
|
-
package_version: input.product.packageVersion,
|
|
92099
|
-
runtime: "bun",
|
|
92100
|
-
runtime_version: process.versions.bun ?? process.version,
|
|
92101
|
-
source: input.source,
|
|
92102
|
-
$os: osProvider.platform(),
|
|
92103
|
-
$os_version: osProvider.release(),
|
|
92104
|
-
os_arch: osProvider.arch(),
|
|
92105
|
-
os_type: osProvider.type(),
|
|
92106
|
-
cpu_count: cpuInfo.count,
|
|
92107
|
-
cpu_model: cpuInfo.model,
|
|
92108
|
-
total_memory_gb: Math.round(osProvider.totalmem() / 1024 / 1024 / 1024),
|
|
92109
|
-
locale: Intl.DateTimeFormat().resolvedOptions().locale,
|
|
92110
|
-
timezone: Intl.DateTimeFormat().resolvedOptions().timeZone,
|
|
92111
|
-
shell: process.env.SHELL,
|
|
92112
|
-
ci: Boolean(process.env.CI),
|
|
92113
|
-
terminal: process.env.TERM_PROGRAM,
|
|
92114
|
-
...input.product.additionalProperties
|
|
92115
|
-
};
|
|
92116
|
-
}
|
|
92117
|
-
function getSafeCpuInfo(osProvider, input) {
|
|
92118
|
-
try {
|
|
92119
|
-
const cpuInfo = osProvider.cpus();
|
|
92120
|
-
return {
|
|
92121
|
-
count: cpuInfo.length,
|
|
92122
|
-
model: cpuInfo[0]?.model
|
|
92123
|
-
};
|
|
92124
|
-
} catch (error) {
|
|
92125
|
-
input.diagnostics?.({
|
|
92126
|
-
event: "telemetry_cpu_info_unavailable",
|
|
92127
|
-
source: "shared",
|
|
92128
|
-
error,
|
|
92129
|
-
errorKind: error instanceof Error ? "error" : "non_error"
|
|
92130
|
-
});
|
|
92131
|
-
return {
|
|
92132
|
-
count: 0,
|
|
92133
|
-
model: undefined
|
|
92134
|
-
};
|
|
92135
|
-
}
|
|
92136
|
-
}
|
|
92137
|
-
var NO_OP_CLIENT;
|
|
92138
|
-
var init_posthog_client = __esm(() => {
|
|
92185
|
+
var init_posthog_transport = __esm(() => {
|
|
92139
92186
|
init_index_node();
|
|
92140
|
-
init_env();
|
|
92141
|
-
init_machine_id();
|
|
92142
|
-
NO_OP_CLIENT = {
|
|
92143
|
-
enabled: false,
|
|
92144
|
-
trackActive: () => {
|
|
92145
|
-
return;
|
|
92146
|
-
},
|
|
92147
|
-
flush: async () => {
|
|
92148
|
-
return;
|
|
92149
|
-
},
|
|
92150
|
-
shutdown: async () => {
|
|
92151
|
-
return;
|
|
92152
|
-
}
|
|
92153
|
-
};
|
|
92154
92187
|
});
|
|
92155
92188
|
|
|
92156
92189
|
// packages/telemetry-core/src/events.ts
|
|
92157
|
-
var
|
|
92158
|
-
|
|
92159
|
-
|
|
92160
|
-
|
|
92161
|
-
|
|
92162
|
-
|
|
92163
|
-
|
|
92164
|
-
|
|
92190
|
+
var init_events = () => {};
|
|
92191
|
+
|
|
92192
|
+
// packages/telemetry-core/src/posthog-client.ts
|
|
92193
|
+
function createTelemetryClient2(input) {
|
|
92194
|
+
return createTelemetryClient({ ...input, transportFactory: input.transportFactory ?? createDefaultPostHogTransport });
|
|
92195
|
+
}
|
|
92196
|
+
var init_posthog_client = __esm(() => {
|
|
92197
|
+
init_injected_client();
|
|
92198
|
+
init_posthog_transport();
|
|
92199
|
+
init_posthog_transport();
|
|
92165
92200
|
});
|
|
92166
92201
|
|
|
92167
92202
|
// packages/telemetry-core/src/record-daily-active.ts
|
|
@@ -92185,7 +92220,7 @@ var package_default2;
|
|
|
92185
92220
|
var init_package2 = __esm(() => {
|
|
92186
92221
|
package_default2 = {
|
|
92187
92222
|
name: "@oh-my-opencode/omo-codex",
|
|
92188
|
-
version: "5.1.
|
|
92223
|
+
version: "5.1.41",
|
|
92189
92224
|
type: "module",
|
|
92190
92225
|
private: true,
|
|
92191
92226
|
description: "Codex harness adapter for oh-my-openagent. Vendored Codex plugin namespace (omo) + TypeScript installer + telemetry.",
|
|
@@ -92315,7 +92350,7 @@ function resolveActivityStateProvider(options) {
|
|
|
92315
92350
|
return () => getPostHogActivityCaptureState(options.now ?? new Date);
|
|
92316
92351
|
}
|
|
92317
92352
|
function createPostHogClient(source, options = {}) {
|
|
92318
|
-
const client =
|
|
92353
|
+
const client = createTelemetryClient2({
|
|
92319
92354
|
diagnostics: writeTelemetryDiagnostic2,
|
|
92320
92355
|
env: options.env ?? process.env,
|
|
92321
92356
|
osProvider: options.osProvider ?? resolveOsProvider(),
|
|
@@ -99484,7 +99519,14 @@ var REQUIRED_PLUGIN_ARTIFACTS = [
|
|
|
99484
99519
|
join63("extensions", "omo-memory-doctor.js"),
|
|
99485
99520
|
join63("extensions", "omo-memory-memfs.js"),
|
|
99486
99521
|
join63("extensions", "omo-memory-palace.js"),
|
|
99522
|
+
join63("extensions", "omo-session-history.js"),
|
|
99523
|
+
join63("extensions", "omo-recall-store.js"),
|
|
99524
|
+
join63("extensions", "omo-telemetry-posthog.js"),
|
|
99525
|
+
join63("extensions", "omo-memory-sync.js"),
|
|
99526
|
+
join63("extensions", "loro_wasm_bg.wasm"),
|
|
99527
|
+
join63("extensions", "CaseFolding.txt"),
|
|
99487
99528
|
join63("extensions", "omo-thread-client.js"),
|
|
99529
|
+
join63("extensions", "omo-feedback.js"),
|
|
99488
99530
|
join63("extensions", "assets.generated.json"),
|
|
99489
99531
|
join63("extensions", "omo-member.js"),
|
|
99490
99532
|
join63("extensions", "memory-run-supervisor.mjs"),
|
|
@@ -103813,21 +103855,21 @@ var GoalConfigSchema = object({
|
|
|
103813
103855
|
});
|
|
103814
103856
|
// packages/skills-loader-core/src/config/git-env-prefix.ts
|
|
103815
103857
|
init_zod();
|
|
103816
|
-
var
|
|
103858
|
+
var GIT_ENV_ASSIGNMENT_PATTERN2 = /^(?:[A-Za-z_][A-Za-z0-9_]*=[A-Za-z0-9_-]*)(?: [A-Za-z_][A-Za-z0-9_]*=[A-Za-z0-9_-]*)*$/;
|
|
103817
103859
|
var GIT_ENV_PREFIX_VALIDATION_MESSAGE = 'git_env_prefix must be empty or use shell-safe env assignments like "GIT_MASTER=1"';
|
|
103818
103860
|
function isValidGitEnvPrefix(value) {
|
|
103819
103861
|
if (value === "") {
|
|
103820
103862
|
return true;
|
|
103821
103863
|
}
|
|
103822
|
-
return
|
|
103864
|
+
return GIT_ENV_ASSIGNMENT_PATTERN2.test(value);
|
|
103823
103865
|
}
|
|
103824
|
-
var
|
|
103866
|
+
var GitEnvPrefixSchema2 = string2().refine(isValidGitEnvPrefix, { message: GIT_ENV_PREFIX_VALIDATION_MESSAGE }).default("GIT_MASTER=1");
|
|
103825
103867
|
// packages/omo-opencode/src/config/schema/git-master.ts
|
|
103826
103868
|
init_zod();
|
|
103827
103869
|
var GitMasterConfigSchema = object({
|
|
103828
103870
|
commit_footer: union([boolean2(), string2()]).default(false),
|
|
103829
103871
|
include_co_authored_by: boolean2().default(false),
|
|
103830
|
-
git_env_prefix:
|
|
103872
|
+
git_env_prefix: GitEnvPrefixSchema2
|
|
103831
103873
|
});
|
|
103832
103874
|
// packages/omo-opencode/src/config/schema/hooks.ts
|
|
103833
103875
|
init_zod();
|
|
@@ -106093,7 +106135,7 @@ function createPostHogClient2(source, options = {}) {
|
|
|
106093
106135
|
if (shouldDisablePostHog(env, options.configEnabled)) {
|
|
106094
106136
|
return NO_OP_POSTHOG2;
|
|
106095
106137
|
}
|
|
106096
|
-
const client =
|
|
106138
|
+
const client = createTelemetryClient2({
|
|
106097
106139
|
diagnostics: logTelemetryDiagnostic,
|
|
106098
106140
|
env: createCoreCompatibleTelemetryEnv(env),
|
|
106099
106141
|
osProvider: resolveOsProvider2(),
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lazycodex-ai",
|
|
3
|
-
"version": "5.1.
|
|
3
|
+
"version": "5.1.41",
|
|
4
4
|
"description": "The Best AI Agent Harness - Batteries-Included OpenCode Plugin with Multi-Model Orchestration, Parallel Background Agents, and Crafted LSP/AST Tools",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -1404,6 +1404,13 @@ function validateCwd(cwd) {
|
|
|
1404
1404
|
};
|
|
1405
1405
|
}
|
|
1406
1406
|
}
|
|
1407
|
+
function guardPipeErrors(stream, pipe) {
|
|
1408
|
+
stream.on("error", (error) => {
|
|
1409
|
+
if (stream.listenerCount("error") > 1)
|
|
1410
|
+
return;
|
|
1411
|
+
reportBestEffortCleanupError(`server ${pipe}`, error);
|
|
1412
|
+
});
|
|
1413
|
+
}
|
|
1407
1414
|
function wrap(proc) {
|
|
1408
1415
|
const exitedPromise = new Promise((resolve) => {
|
|
1409
1416
|
proc.once("close", (code) => resolve(code ?? 0));
|
|
@@ -1412,6 +1419,9 @@ function wrap(proc) {
|
|
|
1412
1419
|
if (!proc.stdin || !proc.stdout || !proc.stderr) {
|
|
1413
1420
|
throw new LspProcessSpawnError("Spawned process is missing one of stdin/stdout/stderr pipes");
|
|
1414
1421
|
}
|
|
1422
|
+
guardPipeErrors(proc.stdin, "stdin");
|
|
1423
|
+
guardPipeErrors(proc.stdout, "stdout");
|
|
1424
|
+
guardPipeErrors(proc.stderr, "stderr");
|
|
1415
1425
|
return {
|
|
1416
1426
|
stdin: proc.stdin,
|
|
1417
1427
|
stdout: proc.stdout,
|
|
@@ -1640,6 +1640,13 @@ function validateCwd(cwd) {
|
|
|
1640
1640
|
};
|
|
1641
1641
|
}
|
|
1642
1642
|
}
|
|
1643
|
+
function guardPipeErrors(stream, pipe) {
|
|
1644
|
+
stream.on("error", (error) => {
|
|
1645
|
+
if (stream.listenerCount("error") > 1)
|
|
1646
|
+
return;
|
|
1647
|
+
reportBestEffortCleanupError(`server ${pipe}`, error);
|
|
1648
|
+
});
|
|
1649
|
+
}
|
|
1643
1650
|
function wrap(proc) {
|
|
1644
1651
|
const exitedPromise = new Promise((resolve) => {
|
|
1645
1652
|
proc.once("close", (code) => resolve(code ?? 0));
|
|
@@ -1648,6 +1655,9 @@ function wrap(proc) {
|
|
|
1648
1655
|
if (!proc.stdin || !proc.stdout || !proc.stderr) {
|
|
1649
1656
|
throw new LspProcessSpawnError("Spawned process is missing one of stdin/stdout/stderr pipes");
|
|
1650
1657
|
}
|
|
1658
|
+
guardPipeErrors(proc.stdin, "stdin");
|
|
1659
|
+
guardPipeErrors(proc.stdout, "stdout");
|
|
1660
|
+
guardPipeErrors(proc.stderr, "stderr");
|
|
1651
1661
|
return {
|
|
1652
1662
|
stdin: proc.stdin,
|
|
1653
1663
|
stdout: proc.stdout,
|
|
@@ -465,6 +465,13 @@ function validateCwd(cwd) {
|
|
|
465
465
|
};
|
|
466
466
|
}
|
|
467
467
|
}
|
|
468
|
+
function guardPipeErrors(stream, pipe) {
|
|
469
|
+
stream.on("error", (error) => {
|
|
470
|
+
if (stream.listenerCount("error") > 1)
|
|
471
|
+
return;
|
|
472
|
+
reportBestEffortCleanupError(`server ${pipe}`, error);
|
|
473
|
+
});
|
|
474
|
+
}
|
|
468
475
|
function wrap(proc) {
|
|
469
476
|
const exitedPromise = new Promise((resolve) => {
|
|
470
477
|
proc.once("close", (code) => resolve(code ?? 0));
|
|
@@ -473,6 +480,9 @@ function wrap(proc) {
|
|
|
473
480
|
if (!proc.stdin || !proc.stdout || !proc.stderr) {
|
|
474
481
|
throw new LspProcessSpawnError("Spawned process is missing one of stdin/stdout/stderr pipes");
|
|
475
482
|
}
|
|
483
|
+
guardPipeErrors(proc.stdin, "stdin");
|
|
484
|
+
guardPipeErrors(proc.stdout, "stdout");
|
|
485
|
+
guardPipeErrors(proc.stderr, "stderr");
|
|
476
486
|
return {
|
|
477
487
|
stdin: proc.stdin,
|
|
478
488
|
stdout: proc.stdout,
|
|
@@ -470,6 +470,13 @@ function validateCwd(cwd) {
|
|
|
470
470
|
};
|
|
471
471
|
}
|
|
472
472
|
}
|
|
473
|
+
function guardPipeErrors(stream, pipe) {
|
|
474
|
+
stream.on("error", (error) => {
|
|
475
|
+
if (stream.listenerCount("error") > 1)
|
|
476
|
+
return;
|
|
477
|
+
reportBestEffortCleanupError(`server ${pipe}`, error);
|
|
478
|
+
});
|
|
479
|
+
}
|
|
473
480
|
function wrap(proc) {
|
|
474
481
|
const exitedPromise = new Promise((resolve) => {
|
|
475
482
|
proc.once("close", (code) => resolve(code ?? 0));
|
|
@@ -478,6 +485,9 @@ function wrap(proc) {
|
|
|
478
485
|
if (!proc.stdin || !proc.stdout || !proc.stderr) {
|
|
479
486
|
throw new LspProcessSpawnError("Spawned process is missing one of stdin/stdout/stderr pipes");
|
|
480
487
|
}
|
|
488
|
+
guardPipeErrors(proc.stdin, "stdin");
|
|
489
|
+
guardPipeErrors(proc.stdout, "stdout");
|
|
490
|
+
guardPipeErrors(proc.stderr, "stderr");
|
|
481
491
|
return {
|
|
482
492
|
stdin: proc.stdin,
|
|
483
493
|
stdout: proc.stdout,
|
|
@@ -465,6 +465,13 @@ function validateCwd(cwd) {
|
|
|
465
465
|
};
|
|
466
466
|
}
|
|
467
467
|
}
|
|
468
|
+
function guardPipeErrors(stream, pipe) {
|
|
469
|
+
stream.on("error", (error) => {
|
|
470
|
+
if (stream.listenerCount("error") > 1)
|
|
471
|
+
return;
|
|
472
|
+
reportBestEffortCleanupError(`server ${pipe}`, error);
|
|
473
|
+
});
|
|
474
|
+
}
|
|
468
475
|
function wrap(proc) {
|
|
469
476
|
const exitedPromise = new Promise((resolve) => {
|
|
470
477
|
proc.once("close", (code) => resolve(code ?? 0));
|
|
@@ -473,6 +480,9 @@ function wrap(proc) {
|
|
|
473
480
|
if (!proc.stdin || !proc.stdout || !proc.stderr) {
|
|
474
481
|
throw new LspProcessSpawnError("Spawned process is missing one of stdin/stdout/stderr pipes");
|
|
475
482
|
}
|
|
483
|
+
guardPipeErrors(proc.stdin, "stdin");
|
|
484
|
+
guardPipeErrors(proc.stdout, "stdout");
|
|
485
|
+
guardPipeErrors(proc.stderr, "stderr");
|
|
476
486
|
return {
|
|
477
487
|
stdin: proc.stdin,
|
|
478
488
|
stdout: proc.stdout,
|