@askexenow/exe-os 0.9.78 → 0.9.80
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/bin/agentic-ontology-backfill.js +2 -2
- package/dist/bin/agentic-reflection-backfill.js +2 -2
- package/dist/bin/agentic-semantic-label.js +2 -2
- package/dist/bin/backfill-conversations.js +2 -2
- package/dist/bin/backfill-responses.js +2 -2
- package/dist/bin/backfill-vectors.js +2 -2
- package/dist/bin/bulk-sync-postgres.js +2 -2
- package/dist/bin/cleanup-stale-review-tasks.js +2 -2
- package/dist/bin/cli.js +116 -37
- package/dist/bin/customer-readiness.js +4 -0
- package/dist/bin/exe-agent.js +2 -2
- package/dist/bin/exe-assign.js +2 -2
- package/dist/bin/exe-boot.js +2 -2
- package/dist/bin/exe-call.js +2 -2
- package/dist/bin/exe-cloud.js +2 -2
- package/dist/bin/exe-dispatch.js +2 -2
- package/dist/bin/exe-doctor.js +2 -2
- package/dist/bin/exe-export-behaviors.js +2 -2
- package/dist/bin/exe-forget.js +2 -2
- package/dist/bin/exe-gateway.js +2 -2
- package/dist/bin/exe-heartbeat.js +2 -2
- package/dist/bin/exe-kill.js +2 -2
- package/dist/bin/exe-launch-agent.js +2 -2
- package/dist/bin/exe-new-employee.js +2 -2
- package/dist/bin/exe-pending-messages.js +2 -2
- package/dist/bin/exe-pending-notifications.js +2 -2
- package/dist/bin/exe-pending-reviews.js +2 -2
- package/dist/bin/exe-rename.js +2 -2
- package/dist/bin/exe-review.js +2 -2
- package/dist/bin/exe-search.js +2 -2
- package/dist/bin/exe-session-cleanup.js +2 -2
- package/dist/bin/exe-start-codex.js +2 -2
- package/dist/bin/exe-start-opencode.js +2 -2
- package/dist/bin/exe-status.js +2 -2
- package/dist/bin/exe-support.js +110 -31
- package/dist/bin/exe-team.js +2 -2
- package/dist/bin/git-sweep.js +2 -2
- package/dist/bin/graph-backfill.js +2 -2
- package/dist/bin/graph-export.js +2 -2
- package/dist/bin/intercom-check.js +2 -2
- package/dist/bin/scan-tasks.js +2 -2
- package/dist/bin/setup.js +2 -2
- package/dist/bin/shard-migrate.js +2 -2
- package/dist/gateway/index.js +2 -2
- package/dist/hooks/bug-report-worker.js +2 -2
- package/dist/hooks/codex-stop-task-finalizer.js +2 -2
- package/dist/hooks/commit-complete.js +2 -2
- package/dist/hooks/error-recall.js +2 -2
- package/dist/hooks/ingest.js +2 -2
- package/dist/hooks/instructions-loaded.js +2 -2
- package/dist/hooks/notification.js +2 -2
- package/dist/hooks/post-compact.js +2 -2
- package/dist/hooks/post-tool-combined.js +2 -2
- package/dist/hooks/pre-compact.js +2 -2
- package/dist/hooks/pre-tool-use.js +2 -2
- package/dist/hooks/prompt-submit.js +2 -2
- package/dist/hooks/session-end.js +2 -2
- package/dist/hooks/session-start.js +2 -2
- package/dist/hooks/stop.js +2 -2
- package/dist/hooks/subagent-stop.js +2 -2
- package/dist/hooks/summary-worker.js +2 -2
- package/dist/index.js +2 -2
- package/dist/lib/employee-templates.js +2 -2
- package/dist/lib/exe-daemon.js +431 -140
- package/dist/lib/hybrid-search.js +2 -2
- package/dist/lib/schedules.js +2 -2
- package/dist/lib/store.js +2 -2
- package/dist/mcp/server.js +368 -88
- package/dist/runtime/index.js +2 -2
- package/dist/tui/App.js +2 -2
- package/package.json +1 -1
|
@@ -3362,7 +3362,7 @@ var init_platform_procedures = __esm({
|
|
|
3362
3362
|
title: "Customer patch triage \u2014 upstream bug vs customization",
|
|
3363
3363
|
domain: "support",
|
|
3364
3364
|
priority: "p0",
|
|
3365
|
-
content: "When an agent encounters a suspected Exe OS bug, update breakage, MCP/tool failure, installer issue, memory/orchestration defect, or customer-local patch need, it MUST use create_bug_report. Do this before or alongside any local workaround so the report reaches AskExe support directly via the customer's license. Do NOT ask the founder for permission to file a required bug report. If create_bug_report is deferred/lazy-loaded, load it and call it. If it is unavailable in the live MCP surface, report 'create_bug_report unavailable in this session' and save a local report in exe/output \u2014 never claim the tool does not exist unless the live MCP surface was checked. If upstream delivery fails,
|
|
3365
|
+
content: "When an agent encounters a suspected Exe OS bug, update breakage, MCP/tool failure, installer issue, memory/orchestration defect, or customer-local patch need, it MUST use create_bug_report. Do this before or alongside any local workaround so the report reaches AskExe support directly via the customer's license. Do NOT ask the founder for permission to file a required bug report. If create_bug_report is deferred/lazy-loaded, load it and call it. If it is unavailable in the live MCP surface, report 'create_bug_report unavailable in this session' and save a local report in exe/output \u2014 never claim the tool does not exist unless the live MCP surface was checked. If upstream delivery fails, call support_test (MCP) and include its result in the local report so AskExe can distinguish customer setup, license provisioning, and server intake issues; only ask the founder to run `exe-os support test` if MCP is disconnected/unavailable. Classify first: upstream_bug = reproducible exe-os/platform defect; customer_customization = identity, behavior, procedure, config, branding, workflow preference that belongs in customer-owned layers; emergency_hotfix = temporary local patch. For upstream bugs/emergency hotfixes include version, repro steps, expected/actual, files changed, workaround, and local diff summary. Avoid permanent platform-code patches unless founder approves; if a hotfix is unavoidable, document it in the bug report and re-check after npm update."
|
|
3366
3366
|
},
|
|
3367
3367
|
// --- Operations ---
|
|
3368
3368
|
{
|
|
@@ -3444,7 +3444,7 @@ var init_platform_procedures = __esm({
|
|
|
3444
3444
|
title: "MCP tools \u2014 identity, behavior, and decisions",
|
|
3445
3445
|
domain: "tool-use",
|
|
3446
3446
|
priority: "p1",
|
|
3447
|
-
content: "get_identity: read an agent's exe.md (Layer 1 identity). update_identity: write an agent's exe.md. Identity > behavior \u2014 use for permanent rules. store_behavior: record a correction or pattern for an agent (Layer 2 expertise). list_behaviors: view an agent's active behaviors. deactivate_behavior: soft-delete a stale or conflicting behavior. store_decision: record an ADR (architectural decision record). get_decision: retrieve a past decision by query. create_bug_report: customer-facing bug/support intake; use whenever an Exe OS bug or emergency hotfix is encountered so the report reaches AskExe directly. Customers only get report access; internal list/get/triage support tools are AskExe-only. If a customer-side agent cannot send upstream,
|
|
3447
|
+
content: "get_identity: read an agent's exe.md (Layer 1 identity). update_identity: write an agent's exe.md. Identity > behavior \u2014 use for permanent rules. store_behavior: record a correction or pattern for an agent (Layer 2 expertise). list_behaviors: view an agent's active behaviors. deactivate_behavior: soft-delete a stale or conflicting behavior. store_decision: record an ADR (architectural decision record). get_decision: retrieve a past decision by query. create_bug_report: customer-facing bug/support intake; use whenever an Exe OS bug or emergency hotfix is encountered so the report reaches AskExe directly. support_health: check local support readiness and AskExe support server health without filing a report. support_test: file a safe end-to-end smoke report. Customers only get report/test access; internal list/get/triage support tools are AskExe-only. If a customer-side agent cannot send upstream, call support_test first; only fall back to the terminal command `exe-os support test` when MCP is disconnected."
|
|
3448
3448
|
},
|
|
3449
3449
|
{
|
|
3450
3450
|
title: "MCP tools \u2014 communication and messaging",
|
|
@@ -3362,7 +3362,7 @@ var init_platform_procedures = __esm({
|
|
|
3362
3362
|
title: "Customer patch triage \u2014 upstream bug vs customization",
|
|
3363
3363
|
domain: "support",
|
|
3364
3364
|
priority: "p0",
|
|
3365
|
-
content: "When an agent encounters a suspected Exe OS bug, update breakage, MCP/tool failure, installer issue, memory/orchestration defect, or customer-local patch need, it MUST use create_bug_report. Do this before or alongside any local workaround so the report reaches AskExe support directly via the customer's license. Do NOT ask the founder for permission to file a required bug report. If create_bug_report is deferred/lazy-loaded, load it and call it. If it is unavailable in the live MCP surface, report 'create_bug_report unavailable in this session' and save a local report in exe/output \u2014 never claim the tool does not exist unless the live MCP surface was checked. If upstream delivery fails,
|
|
3365
|
+
content: "When an agent encounters a suspected Exe OS bug, update breakage, MCP/tool failure, installer issue, memory/orchestration defect, or customer-local patch need, it MUST use create_bug_report. Do this before or alongside any local workaround so the report reaches AskExe support directly via the customer's license. Do NOT ask the founder for permission to file a required bug report. If create_bug_report is deferred/lazy-loaded, load it and call it. If it is unavailable in the live MCP surface, report 'create_bug_report unavailable in this session' and save a local report in exe/output \u2014 never claim the tool does not exist unless the live MCP surface was checked. If upstream delivery fails, call support_test (MCP) and include its result in the local report so AskExe can distinguish customer setup, license provisioning, and server intake issues; only ask the founder to run `exe-os support test` if MCP is disconnected/unavailable. Classify first: upstream_bug = reproducible exe-os/platform defect; customer_customization = identity, behavior, procedure, config, branding, workflow preference that belongs in customer-owned layers; emergency_hotfix = temporary local patch. For upstream bugs/emergency hotfixes include version, repro steps, expected/actual, files changed, workaround, and local diff summary. Avoid permanent platform-code patches unless founder approves; if a hotfix is unavoidable, document it in the bug report and re-check after npm update."
|
|
3366
3366
|
},
|
|
3367
3367
|
// --- Operations ---
|
|
3368
3368
|
{
|
|
@@ -3444,7 +3444,7 @@ var init_platform_procedures = __esm({
|
|
|
3444
3444
|
title: "MCP tools \u2014 identity, behavior, and decisions",
|
|
3445
3445
|
domain: "tool-use",
|
|
3446
3446
|
priority: "p1",
|
|
3447
|
-
content: "get_identity: read an agent's exe.md (Layer 1 identity). update_identity: write an agent's exe.md. Identity > behavior \u2014 use for permanent rules. store_behavior: record a correction or pattern for an agent (Layer 2 expertise). list_behaviors: view an agent's active behaviors. deactivate_behavior: soft-delete a stale or conflicting behavior. store_decision: record an ADR (architectural decision record). get_decision: retrieve a past decision by query. create_bug_report: customer-facing bug/support intake; use whenever an Exe OS bug or emergency hotfix is encountered so the report reaches AskExe directly. Customers only get report access; internal list/get/triage support tools are AskExe-only. If a customer-side agent cannot send upstream,
|
|
3447
|
+
content: "get_identity: read an agent's exe.md (Layer 1 identity). update_identity: write an agent's exe.md. Identity > behavior \u2014 use for permanent rules. store_behavior: record a correction or pattern for an agent (Layer 2 expertise). list_behaviors: view an agent's active behaviors. deactivate_behavior: soft-delete a stale or conflicting behavior. store_decision: record an ADR (architectural decision record). get_decision: retrieve a past decision by query. create_bug_report: customer-facing bug/support intake; use whenever an Exe OS bug or emergency hotfix is encountered so the report reaches AskExe directly. support_health: check local support readiness and AskExe support server health without filing a report. support_test: file a safe end-to-end smoke report. Customers only get report/test access; internal list/get/triage support tools are AskExe-only. If a customer-side agent cannot send upstream, call support_test first; only fall back to the terminal command `exe-os support test` when MCP is disconnected."
|
|
3448
3448
|
},
|
|
3449
3449
|
{
|
|
3450
3450
|
title: "MCP tools \u2014 communication and messaging",
|
|
@@ -3362,7 +3362,7 @@ var init_platform_procedures = __esm({
|
|
|
3362
3362
|
title: "Customer patch triage \u2014 upstream bug vs customization",
|
|
3363
3363
|
domain: "support",
|
|
3364
3364
|
priority: "p0",
|
|
3365
|
-
content: "When an agent encounters a suspected Exe OS bug, update breakage, MCP/tool failure, installer issue, memory/orchestration defect, or customer-local patch need, it MUST use create_bug_report. Do this before or alongside any local workaround so the report reaches AskExe support directly via the customer's license. Do NOT ask the founder for permission to file a required bug report. If create_bug_report is deferred/lazy-loaded, load it and call it. If it is unavailable in the live MCP surface, report 'create_bug_report unavailable in this session' and save a local report in exe/output \u2014 never claim the tool does not exist unless the live MCP surface was checked. If upstream delivery fails,
|
|
3365
|
+
content: "When an agent encounters a suspected Exe OS bug, update breakage, MCP/tool failure, installer issue, memory/orchestration defect, or customer-local patch need, it MUST use create_bug_report. Do this before or alongside any local workaround so the report reaches AskExe support directly via the customer's license. Do NOT ask the founder for permission to file a required bug report. If create_bug_report is deferred/lazy-loaded, load it and call it. If it is unavailable in the live MCP surface, report 'create_bug_report unavailable in this session' and save a local report in exe/output \u2014 never claim the tool does not exist unless the live MCP surface was checked. If upstream delivery fails, call support_test (MCP) and include its result in the local report so AskExe can distinguish customer setup, license provisioning, and server intake issues; only ask the founder to run `exe-os support test` if MCP is disconnected/unavailable. Classify first: upstream_bug = reproducible exe-os/platform defect; customer_customization = identity, behavior, procedure, config, branding, workflow preference that belongs in customer-owned layers; emergency_hotfix = temporary local patch. For upstream bugs/emergency hotfixes include version, repro steps, expected/actual, files changed, workaround, and local diff summary. Avoid permanent platform-code patches unless founder approves; if a hotfix is unavoidable, document it in the bug report and re-check after npm update."
|
|
3366
3366
|
},
|
|
3367
3367
|
// --- Operations ---
|
|
3368
3368
|
{
|
|
@@ -3444,7 +3444,7 @@ var init_platform_procedures = __esm({
|
|
|
3444
3444
|
title: "MCP tools \u2014 identity, behavior, and decisions",
|
|
3445
3445
|
domain: "tool-use",
|
|
3446
3446
|
priority: "p1",
|
|
3447
|
-
content: "get_identity: read an agent's exe.md (Layer 1 identity). update_identity: write an agent's exe.md. Identity > behavior \u2014 use for permanent rules. store_behavior: record a correction or pattern for an agent (Layer 2 expertise). list_behaviors: view an agent's active behaviors. deactivate_behavior: soft-delete a stale or conflicting behavior. store_decision: record an ADR (architectural decision record). get_decision: retrieve a past decision by query. create_bug_report: customer-facing bug/support intake; use whenever an Exe OS bug or emergency hotfix is encountered so the report reaches AskExe directly. Customers only get report access; internal list/get/triage support tools are AskExe-only. If a customer-side agent cannot send upstream,
|
|
3447
|
+
content: "get_identity: read an agent's exe.md (Layer 1 identity). update_identity: write an agent's exe.md. Identity > behavior \u2014 use for permanent rules. store_behavior: record a correction or pattern for an agent (Layer 2 expertise). list_behaviors: view an agent's active behaviors. deactivate_behavior: soft-delete a stale or conflicting behavior. store_decision: record an ADR (architectural decision record). get_decision: retrieve a past decision by query. create_bug_report: customer-facing bug/support intake; use whenever an Exe OS bug or emergency hotfix is encountered so the report reaches AskExe directly. support_health: check local support readiness and AskExe support server health without filing a report. support_test: file a safe end-to-end smoke report. Customers only get report/test access; internal list/get/triage support tools are AskExe-only. If a customer-side agent cannot send upstream, call support_test first; only fall back to the terminal command `exe-os support test` when MCP is disconnected."
|
|
3448
3448
|
},
|
|
3449
3449
|
{
|
|
3450
3450
|
title: "MCP tools \u2014 communication and messaging",
|
|
@@ -3502,7 +3502,7 @@ var init_platform_procedures = __esm({
|
|
|
3502
3502
|
title: "Customer patch triage \u2014 upstream bug vs customization",
|
|
3503
3503
|
domain: "support",
|
|
3504
3504
|
priority: "p0",
|
|
3505
|
-
content: "When an agent encounters a suspected Exe OS bug, update breakage, MCP/tool failure, installer issue, memory/orchestration defect, or customer-local patch need, it MUST use create_bug_report. Do this before or alongside any local workaround so the report reaches AskExe support directly via the customer's license. Do NOT ask the founder for permission to file a required bug report. If create_bug_report is deferred/lazy-loaded, load it and call it. If it is unavailable in the live MCP surface, report 'create_bug_report unavailable in this session' and save a local report in exe/output \u2014 never claim the tool does not exist unless the live MCP surface was checked. If upstream delivery fails,
|
|
3505
|
+
content: "When an agent encounters a suspected Exe OS bug, update breakage, MCP/tool failure, installer issue, memory/orchestration defect, or customer-local patch need, it MUST use create_bug_report. Do this before or alongside any local workaround so the report reaches AskExe support directly via the customer's license. Do NOT ask the founder for permission to file a required bug report. If create_bug_report is deferred/lazy-loaded, load it and call it. If it is unavailable in the live MCP surface, report 'create_bug_report unavailable in this session' and save a local report in exe/output \u2014 never claim the tool does not exist unless the live MCP surface was checked. If upstream delivery fails, call support_test (MCP) and include its result in the local report so AskExe can distinguish customer setup, license provisioning, and server intake issues; only ask the founder to run `exe-os support test` if MCP is disconnected/unavailable. Classify first: upstream_bug = reproducible exe-os/platform defect; customer_customization = identity, behavior, procedure, config, branding, workflow preference that belongs in customer-owned layers; emergency_hotfix = temporary local patch. For upstream bugs/emergency hotfixes include version, repro steps, expected/actual, files changed, workaround, and local diff summary. Avoid permanent platform-code patches unless founder approves; if a hotfix is unavoidable, document it in the bug report and re-check after npm update."
|
|
3506
3506
|
},
|
|
3507
3507
|
// --- Operations ---
|
|
3508
3508
|
{
|
|
@@ -3584,7 +3584,7 @@ var init_platform_procedures = __esm({
|
|
|
3584
3584
|
title: "MCP tools \u2014 identity, behavior, and decisions",
|
|
3585
3585
|
domain: "tool-use",
|
|
3586
3586
|
priority: "p1",
|
|
3587
|
-
content: "get_identity: read an agent's exe.md (Layer 1 identity). update_identity: write an agent's exe.md. Identity > behavior \u2014 use for permanent rules. store_behavior: record a correction or pattern for an agent (Layer 2 expertise). list_behaviors: view an agent's active behaviors. deactivate_behavior: soft-delete a stale or conflicting behavior. store_decision: record an ADR (architectural decision record). get_decision: retrieve a past decision by query. create_bug_report: customer-facing bug/support intake; use whenever an Exe OS bug or emergency hotfix is encountered so the report reaches AskExe directly. Customers only get report access; internal list/get/triage support tools are AskExe-only. If a customer-side agent cannot send upstream,
|
|
3587
|
+
content: "get_identity: read an agent's exe.md (Layer 1 identity). update_identity: write an agent's exe.md. Identity > behavior \u2014 use for permanent rules. store_behavior: record a correction or pattern for an agent (Layer 2 expertise). list_behaviors: view an agent's active behaviors. deactivate_behavior: soft-delete a stale or conflicting behavior. store_decision: record an ADR (architectural decision record). get_decision: retrieve a past decision by query. create_bug_report: customer-facing bug/support intake; use whenever an Exe OS bug or emergency hotfix is encountered so the report reaches AskExe directly. support_health: check local support readiness and AskExe support server health without filing a report. support_test: file a safe end-to-end smoke report. Customers only get report/test access; internal list/get/triage support tools are AskExe-only. If a customer-side agent cannot send upstream, call support_test first; only fall back to the terminal command `exe-os support test` when MCP is disconnected."
|
|
3588
3588
|
},
|
|
3589
3589
|
{
|
|
3590
3590
|
title: "MCP tools \u2014 communication and messaging",
|
|
@@ -3502,7 +3502,7 @@ var init_platform_procedures = __esm({
|
|
|
3502
3502
|
title: "Customer patch triage \u2014 upstream bug vs customization",
|
|
3503
3503
|
domain: "support",
|
|
3504
3504
|
priority: "p0",
|
|
3505
|
-
content: "When an agent encounters a suspected Exe OS bug, update breakage, MCP/tool failure, installer issue, memory/orchestration defect, or customer-local patch need, it MUST use create_bug_report. Do this before or alongside any local workaround so the report reaches AskExe support directly via the customer's license. Do NOT ask the founder for permission to file a required bug report. If create_bug_report is deferred/lazy-loaded, load it and call it. If it is unavailable in the live MCP surface, report 'create_bug_report unavailable in this session' and save a local report in exe/output \u2014 never claim the tool does not exist unless the live MCP surface was checked. If upstream delivery fails,
|
|
3505
|
+
content: "When an agent encounters a suspected Exe OS bug, update breakage, MCP/tool failure, installer issue, memory/orchestration defect, or customer-local patch need, it MUST use create_bug_report. Do this before or alongside any local workaround so the report reaches AskExe support directly via the customer's license. Do NOT ask the founder for permission to file a required bug report. If create_bug_report is deferred/lazy-loaded, load it and call it. If it is unavailable in the live MCP surface, report 'create_bug_report unavailable in this session' and save a local report in exe/output \u2014 never claim the tool does not exist unless the live MCP surface was checked. If upstream delivery fails, call support_test (MCP) and include its result in the local report so AskExe can distinguish customer setup, license provisioning, and server intake issues; only ask the founder to run `exe-os support test` if MCP is disconnected/unavailable. Classify first: upstream_bug = reproducible exe-os/platform defect; customer_customization = identity, behavior, procedure, config, branding, workflow preference that belongs in customer-owned layers; emergency_hotfix = temporary local patch. For upstream bugs/emergency hotfixes include version, repro steps, expected/actual, files changed, workaround, and local diff summary. Avoid permanent platform-code patches unless founder approves; if a hotfix is unavoidable, document it in the bug report and re-check after npm update."
|
|
3506
3506
|
},
|
|
3507
3507
|
// --- Operations ---
|
|
3508
3508
|
{
|
|
@@ -3584,7 +3584,7 @@ var init_platform_procedures = __esm({
|
|
|
3584
3584
|
title: "MCP tools \u2014 identity, behavior, and decisions",
|
|
3585
3585
|
domain: "tool-use",
|
|
3586
3586
|
priority: "p1",
|
|
3587
|
-
content: "get_identity: read an agent's exe.md (Layer 1 identity). update_identity: write an agent's exe.md. Identity > behavior \u2014 use for permanent rules. store_behavior: record a correction or pattern for an agent (Layer 2 expertise). list_behaviors: view an agent's active behaviors. deactivate_behavior: soft-delete a stale or conflicting behavior. store_decision: record an ADR (architectural decision record). get_decision: retrieve a past decision by query. create_bug_report: customer-facing bug/support intake; use whenever an Exe OS bug or emergency hotfix is encountered so the report reaches AskExe directly. Customers only get report access; internal list/get/triage support tools are AskExe-only. If a customer-side agent cannot send upstream,
|
|
3587
|
+
content: "get_identity: read an agent's exe.md (Layer 1 identity). update_identity: write an agent's exe.md. Identity > behavior \u2014 use for permanent rules. store_behavior: record a correction or pattern for an agent (Layer 2 expertise). list_behaviors: view an agent's active behaviors. deactivate_behavior: soft-delete a stale or conflicting behavior. store_decision: record an ADR (architectural decision record). get_decision: retrieve a past decision by query. create_bug_report: customer-facing bug/support intake; use whenever an Exe OS bug or emergency hotfix is encountered so the report reaches AskExe directly. support_health: check local support readiness and AskExe support server health without filing a report. support_test: file a safe end-to-end smoke report. Customers only get report/test access; internal list/get/triage support tools are AskExe-only. If a customer-side agent cannot send upstream, call support_test first; only fall back to the terminal command `exe-os support test` when MCP is disconnected."
|
|
3588
3588
|
},
|
|
3589
3589
|
{
|
|
3590
3590
|
title: "MCP tools \u2014 communication and messaging",
|
|
@@ -3498,7 +3498,7 @@ var init_platform_procedures = __esm({
|
|
|
3498
3498
|
title: "Customer patch triage \u2014 upstream bug vs customization",
|
|
3499
3499
|
domain: "support",
|
|
3500
3500
|
priority: "p0",
|
|
3501
|
-
content: "When an agent encounters a suspected Exe OS bug, update breakage, MCP/tool failure, installer issue, memory/orchestration defect, or customer-local patch need, it MUST use create_bug_report. Do this before or alongside any local workaround so the report reaches AskExe support directly via the customer's license. Do NOT ask the founder for permission to file a required bug report. If create_bug_report is deferred/lazy-loaded, load it and call it. If it is unavailable in the live MCP surface, report 'create_bug_report unavailable in this session' and save a local report in exe/output \u2014 never claim the tool does not exist unless the live MCP surface was checked. If upstream delivery fails,
|
|
3501
|
+
content: "When an agent encounters a suspected Exe OS bug, update breakage, MCP/tool failure, installer issue, memory/orchestration defect, or customer-local patch need, it MUST use create_bug_report. Do this before or alongside any local workaround so the report reaches AskExe support directly via the customer's license. Do NOT ask the founder for permission to file a required bug report. If create_bug_report is deferred/lazy-loaded, load it and call it. If it is unavailable in the live MCP surface, report 'create_bug_report unavailable in this session' and save a local report in exe/output \u2014 never claim the tool does not exist unless the live MCP surface was checked. If upstream delivery fails, call support_test (MCP) and include its result in the local report so AskExe can distinguish customer setup, license provisioning, and server intake issues; only ask the founder to run `exe-os support test` if MCP is disconnected/unavailable. Classify first: upstream_bug = reproducible exe-os/platform defect; customer_customization = identity, behavior, procedure, config, branding, workflow preference that belongs in customer-owned layers; emergency_hotfix = temporary local patch. For upstream bugs/emergency hotfixes include version, repro steps, expected/actual, files changed, workaround, and local diff summary. Avoid permanent platform-code patches unless founder approves; if a hotfix is unavoidable, document it in the bug report and re-check after npm update."
|
|
3502
3502
|
},
|
|
3503
3503
|
// --- Operations ---
|
|
3504
3504
|
{
|
|
@@ -3580,7 +3580,7 @@ var init_platform_procedures = __esm({
|
|
|
3580
3580
|
title: "MCP tools \u2014 identity, behavior, and decisions",
|
|
3581
3581
|
domain: "tool-use",
|
|
3582
3582
|
priority: "p1",
|
|
3583
|
-
content: "get_identity: read an agent's exe.md (Layer 1 identity). update_identity: write an agent's exe.md. Identity > behavior \u2014 use for permanent rules. store_behavior: record a correction or pattern for an agent (Layer 2 expertise). list_behaviors: view an agent's active behaviors. deactivate_behavior: soft-delete a stale or conflicting behavior. store_decision: record an ADR (architectural decision record). get_decision: retrieve a past decision by query. create_bug_report: customer-facing bug/support intake; use whenever an Exe OS bug or emergency hotfix is encountered so the report reaches AskExe directly. Customers only get report access; internal list/get/triage support tools are AskExe-only. If a customer-side agent cannot send upstream,
|
|
3583
|
+
content: "get_identity: read an agent's exe.md (Layer 1 identity). update_identity: write an agent's exe.md. Identity > behavior \u2014 use for permanent rules. store_behavior: record a correction or pattern for an agent (Layer 2 expertise). list_behaviors: view an agent's active behaviors. deactivate_behavior: soft-delete a stale or conflicting behavior. store_decision: record an ADR (architectural decision record). get_decision: retrieve a past decision by query. create_bug_report: customer-facing bug/support intake; use whenever an Exe OS bug or emergency hotfix is encountered so the report reaches AskExe directly. support_health: check local support readiness and AskExe support server health without filing a report. support_test: file a safe end-to-end smoke report. Customers only get report/test access; internal list/get/triage support tools are AskExe-only. If a customer-side agent cannot send upstream, call support_test first; only fall back to the terminal command `exe-os support test` when MCP is disconnected."
|
|
3584
3584
|
},
|
|
3585
3585
|
{
|
|
3586
3586
|
title: "MCP tools \u2014 communication and messaging",
|
|
@@ -3670,7 +3670,7 @@ var init_platform_procedures = __esm({
|
|
|
3670
3670
|
title: "Customer patch triage \u2014 upstream bug vs customization",
|
|
3671
3671
|
domain: "support",
|
|
3672
3672
|
priority: "p0",
|
|
3673
|
-
content: "When an agent encounters a suspected Exe OS bug, update breakage, MCP/tool failure, installer issue, memory/orchestration defect, or customer-local patch need, it MUST use create_bug_report. Do this before or alongside any local workaround so the report reaches AskExe support directly via the customer's license. Do NOT ask the founder for permission to file a required bug report. If create_bug_report is deferred/lazy-loaded, load it and call it. If it is unavailable in the live MCP surface, report 'create_bug_report unavailable in this session' and save a local report in exe/output \u2014 never claim the tool does not exist unless the live MCP surface was checked. If upstream delivery fails,
|
|
3673
|
+
content: "When an agent encounters a suspected Exe OS bug, update breakage, MCP/tool failure, installer issue, memory/orchestration defect, or customer-local patch need, it MUST use create_bug_report. Do this before or alongside any local workaround so the report reaches AskExe support directly via the customer's license. Do NOT ask the founder for permission to file a required bug report. If create_bug_report is deferred/lazy-loaded, load it and call it. If it is unavailable in the live MCP surface, report 'create_bug_report unavailable in this session' and save a local report in exe/output \u2014 never claim the tool does not exist unless the live MCP surface was checked. If upstream delivery fails, call support_test (MCP) and include its result in the local report so AskExe can distinguish customer setup, license provisioning, and server intake issues; only ask the founder to run `exe-os support test` if MCP is disconnected/unavailable. Classify first: upstream_bug = reproducible exe-os/platform defect; customer_customization = identity, behavior, procedure, config, branding, workflow preference that belongs in customer-owned layers; emergency_hotfix = temporary local patch. For upstream bugs/emergency hotfixes include version, repro steps, expected/actual, files changed, workaround, and local diff summary. Avoid permanent platform-code patches unless founder approves; if a hotfix is unavoidable, document it in the bug report and re-check after npm update."
|
|
3674
3674
|
},
|
|
3675
3675
|
// --- Operations ---
|
|
3676
3676
|
{
|
|
@@ -3752,7 +3752,7 @@ var init_platform_procedures = __esm({
|
|
|
3752
3752
|
title: "MCP tools \u2014 identity, behavior, and decisions",
|
|
3753
3753
|
domain: "tool-use",
|
|
3754
3754
|
priority: "p1",
|
|
3755
|
-
content: "get_identity: read an agent's exe.md (Layer 1 identity). update_identity: write an agent's exe.md. Identity > behavior \u2014 use for permanent rules. store_behavior: record a correction or pattern for an agent (Layer 2 expertise). list_behaviors: view an agent's active behaviors. deactivate_behavior: soft-delete a stale or conflicting behavior. store_decision: record an ADR (architectural decision record). get_decision: retrieve a past decision by query. create_bug_report: customer-facing bug/support intake; use whenever an Exe OS bug or emergency hotfix is encountered so the report reaches AskExe directly. Customers only get report access; internal list/get/triage support tools are AskExe-only. If a customer-side agent cannot send upstream,
|
|
3755
|
+
content: "get_identity: read an agent's exe.md (Layer 1 identity). update_identity: write an agent's exe.md. Identity > behavior \u2014 use for permanent rules. store_behavior: record a correction or pattern for an agent (Layer 2 expertise). list_behaviors: view an agent's active behaviors. deactivate_behavior: soft-delete a stale or conflicting behavior. store_decision: record an ADR (architectural decision record). get_decision: retrieve a past decision by query. create_bug_report: customer-facing bug/support intake; use whenever an Exe OS bug or emergency hotfix is encountered so the report reaches AskExe directly. support_health: check local support readiness and AskExe support server health without filing a report. support_test: file a safe end-to-end smoke report. Customers only get report/test access; internal list/get/triage support tools are AskExe-only. If a customer-side agent cannot send upstream, call support_test first; only fall back to the terminal command `exe-os support test` when MCP is disconnected."
|
|
3756
3756
|
},
|
|
3757
3757
|
{
|
|
3758
3758
|
title: "MCP tools \u2014 communication and messaging",
|
|
@@ -4145,7 +4145,7 @@ var init_platform_procedures = __esm({
|
|
|
4145
4145
|
title: "Customer patch triage \u2014 upstream bug vs customization",
|
|
4146
4146
|
domain: "support",
|
|
4147
4147
|
priority: "p0",
|
|
4148
|
-
content: "When an agent encounters a suspected Exe OS bug, update breakage, MCP/tool failure, installer issue, memory/orchestration defect, or customer-local patch need, it MUST use create_bug_report. Do this before or alongside any local workaround so the report reaches AskExe support directly via the customer's license. Do NOT ask the founder for permission to file a required bug report. If create_bug_report is deferred/lazy-loaded, load it and call it. If it is unavailable in the live MCP surface, report 'create_bug_report unavailable in this session' and save a local report in exe/output \u2014 never claim the tool does not exist unless the live MCP surface was checked. If upstream delivery fails,
|
|
4148
|
+
content: "When an agent encounters a suspected Exe OS bug, update breakage, MCP/tool failure, installer issue, memory/orchestration defect, or customer-local patch need, it MUST use create_bug_report. Do this before or alongside any local workaround so the report reaches AskExe support directly via the customer's license. Do NOT ask the founder for permission to file a required bug report. If create_bug_report is deferred/lazy-loaded, load it and call it. If it is unavailable in the live MCP surface, report 'create_bug_report unavailable in this session' and save a local report in exe/output \u2014 never claim the tool does not exist unless the live MCP surface was checked. If upstream delivery fails, call support_test (MCP) and include its result in the local report so AskExe can distinguish customer setup, license provisioning, and server intake issues; only ask the founder to run `exe-os support test` if MCP is disconnected/unavailable. Classify first: upstream_bug = reproducible exe-os/platform defect; customer_customization = identity, behavior, procedure, config, branding, workflow preference that belongs in customer-owned layers; emergency_hotfix = temporary local patch. For upstream bugs/emergency hotfixes include version, repro steps, expected/actual, files changed, workaround, and local diff summary. Avoid permanent platform-code patches unless founder approves; if a hotfix is unavoidable, document it in the bug report and re-check after npm update."
|
|
4149
4149
|
},
|
|
4150
4150
|
// --- Operations ---
|
|
4151
4151
|
{
|
|
@@ -4227,7 +4227,7 @@ var init_platform_procedures = __esm({
|
|
|
4227
4227
|
title: "MCP tools \u2014 identity, behavior, and decisions",
|
|
4228
4228
|
domain: "tool-use",
|
|
4229
4229
|
priority: "p1",
|
|
4230
|
-
content: "get_identity: read an agent's exe.md (Layer 1 identity). update_identity: write an agent's exe.md. Identity > behavior \u2014 use for permanent rules. store_behavior: record a correction or pattern for an agent (Layer 2 expertise). list_behaviors: view an agent's active behaviors. deactivate_behavior: soft-delete a stale or conflicting behavior. store_decision: record an ADR (architectural decision record). get_decision: retrieve a past decision by query. create_bug_report: customer-facing bug/support intake; use whenever an Exe OS bug or emergency hotfix is encountered so the report reaches AskExe directly. Customers only get report access; internal list/get/triage support tools are AskExe-only. If a customer-side agent cannot send upstream,
|
|
4230
|
+
content: "get_identity: read an agent's exe.md (Layer 1 identity). update_identity: write an agent's exe.md. Identity > behavior \u2014 use for permanent rules. store_behavior: record a correction or pattern for an agent (Layer 2 expertise). list_behaviors: view an agent's active behaviors. deactivate_behavior: soft-delete a stale or conflicting behavior. store_decision: record an ADR (architectural decision record). get_decision: retrieve a past decision by query. create_bug_report: customer-facing bug/support intake; use whenever an Exe OS bug or emergency hotfix is encountered so the report reaches AskExe directly. support_health: check local support readiness and AskExe support server health without filing a report. support_test: file a safe end-to-end smoke report. Customers only get report/test access; internal list/get/triage support tools are AskExe-only. If a customer-side agent cannot send upstream, call support_test first; only fall back to the terminal command `exe-os support test` when MCP is disconnected."
|
|
4231
4231
|
},
|
|
4232
4232
|
{
|
|
4233
4233
|
title: "MCP tools \u2014 communication and messaging",
|
package/dist/bin/cli.js
CHANGED
|
@@ -8667,7 +8667,7 @@ var init_platform_procedures = __esm({
|
|
|
8667
8667
|
title: "Customer patch triage \u2014 upstream bug vs customization",
|
|
8668
8668
|
domain: "support",
|
|
8669
8669
|
priority: "p0",
|
|
8670
|
-
content: "When an agent encounters a suspected Exe OS bug, update breakage, MCP/tool failure, installer issue, memory/orchestration defect, or customer-local patch need, it MUST use create_bug_report. Do this before or alongside any local workaround so the report reaches AskExe support directly via the customer's license. Do NOT ask the founder for permission to file a required bug report. If create_bug_report is deferred/lazy-loaded, load it and call it. If it is unavailable in the live MCP surface, report 'create_bug_report unavailable in this session' and save a local report in exe/output \u2014 never claim the tool does not exist unless the live MCP surface was checked. If upstream delivery fails,
|
|
8670
|
+
content: "When an agent encounters a suspected Exe OS bug, update breakage, MCP/tool failure, installer issue, memory/orchestration defect, or customer-local patch need, it MUST use create_bug_report. Do this before or alongside any local workaround so the report reaches AskExe support directly via the customer's license. Do NOT ask the founder for permission to file a required bug report. If create_bug_report is deferred/lazy-loaded, load it and call it. If it is unavailable in the live MCP surface, report 'create_bug_report unavailable in this session' and save a local report in exe/output \u2014 never claim the tool does not exist unless the live MCP surface was checked. If upstream delivery fails, call support_test (MCP) and include its result in the local report so AskExe can distinguish customer setup, license provisioning, and server intake issues; only ask the founder to run `exe-os support test` if MCP is disconnected/unavailable. Classify first: upstream_bug = reproducible exe-os/platform defect; customer_customization = identity, behavior, procedure, config, branding, workflow preference that belongs in customer-owned layers; emergency_hotfix = temporary local patch. For upstream bugs/emergency hotfixes include version, repro steps, expected/actual, files changed, workaround, and local diff summary. Avoid permanent platform-code patches unless founder approves; if a hotfix is unavoidable, document it in the bug report and re-check after npm update."
|
|
8671
8671
|
},
|
|
8672
8672
|
// --- Operations ---
|
|
8673
8673
|
{
|
|
@@ -8749,7 +8749,7 @@ var init_platform_procedures = __esm({
|
|
|
8749
8749
|
title: "MCP tools \u2014 identity, behavior, and decisions",
|
|
8750
8750
|
domain: "tool-use",
|
|
8751
8751
|
priority: "p1",
|
|
8752
|
-
content: "get_identity: read an agent's exe.md (Layer 1 identity). update_identity: write an agent's exe.md. Identity > behavior \u2014 use for permanent rules. store_behavior: record a correction or pattern for an agent (Layer 2 expertise). list_behaviors: view an agent's active behaviors. deactivate_behavior: soft-delete a stale or conflicting behavior. store_decision: record an ADR (architectural decision record). get_decision: retrieve a past decision by query. create_bug_report: customer-facing bug/support intake; use whenever an Exe OS bug or emergency hotfix is encountered so the report reaches AskExe directly. Customers only get report access; internal list/get/triage support tools are AskExe-only. If a customer-side agent cannot send upstream,
|
|
8752
|
+
content: "get_identity: read an agent's exe.md (Layer 1 identity). update_identity: write an agent's exe.md. Identity > behavior \u2014 use for permanent rules. store_behavior: record a correction or pattern for an agent (Layer 2 expertise). list_behaviors: view an agent's active behaviors. deactivate_behavior: soft-delete a stale or conflicting behavior. store_decision: record an ADR (architectural decision record). get_decision: retrieve a past decision by query. create_bug_report: customer-facing bug/support intake; use whenever an Exe OS bug or emergency hotfix is encountered so the report reaches AskExe directly. support_health: check local support readiness and AskExe support server health without filing a report. support_test: file a safe end-to-end smoke report. Customers only get report/test access; internal list/get/triage support tools are AskExe-only. If a customer-side agent cannot send upstream, call support_test first; only fall back to the terminal command `exe-os support test` when MCP is disconnected."
|
|
8753
8753
|
},
|
|
8754
8754
|
{
|
|
8755
8755
|
title: "MCP tools \u2014 communication and messaging",
|
|
@@ -10948,25 +10948,32 @@ var init_exe_key = __esm({
|
|
|
10948
10948
|
// src/bin/exe-support.ts
|
|
10949
10949
|
var exe_support_exports = {};
|
|
10950
10950
|
__export(exe_support_exports, {
|
|
10951
|
-
|
|
10951
|
+
hasFailures: () => hasFailures,
|
|
10952
|
+
main: () => main4,
|
|
10953
|
+
runHealth: () => runHealth,
|
|
10954
|
+
runTest: () => runTest
|
|
10952
10955
|
});
|
|
10953
10956
|
import { mkdirSync as mkdirSync13, readFileSync as readFileSync14, unlinkSync as unlinkSync7, writeFileSync as writeFileSync13 } from "fs";
|
|
10954
10957
|
import path20 from "path";
|
|
10955
10958
|
import { randomUUID as randomUUID4 } from "crypto";
|
|
10956
10959
|
async function main4(argv = process.argv.slice(2)) {
|
|
10957
|
-
const command = argv[0] && !argv[0].startsWith("--") ? argv[0] : "
|
|
10960
|
+
const command = argv[0] && !argv[0].startsWith("--") ? argv[0] : "health";
|
|
10958
10961
|
const json = argv.includes("--json");
|
|
10959
10962
|
const project = getArg(argv, "--project") ?? "support-smoke";
|
|
10963
|
+
if (command === "help" || argv.includes("--help") || argv.includes("-h")) {
|
|
10964
|
+
printHelp();
|
|
10965
|
+
return;
|
|
10966
|
+
}
|
|
10960
10967
|
if (command === "health") {
|
|
10961
10968
|
const result = await runHealth();
|
|
10962
|
-
output(result, json);
|
|
10963
|
-
process.exitCode = result
|
|
10969
|
+
output(result, json, "health");
|
|
10970
|
+
process.exitCode = hasFailures(result) ? 1 : 0;
|
|
10964
10971
|
return;
|
|
10965
10972
|
}
|
|
10966
10973
|
if (command === "test") {
|
|
10967
10974
|
const result = await runTest(project);
|
|
10968
|
-
output(result, json);
|
|
10969
|
-
process.exitCode = result
|
|
10975
|
+
output(result, json, "test");
|
|
10976
|
+
process.exitCode = hasFailures(result) ? 1 : 0;
|
|
10970
10977
|
return;
|
|
10971
10978
|
}
|
|
10972
10979
|
console.error("Usage: exe-os support health|test [--project <name>] [--json]");
|
|
@@ -10978,34 +10985,40 @@ async function runHealth() {
|
|
|
10978
10985
|
checks.push(checkLocalWrite());
|
|
10979
10986
|
checks.push({
|
|
10980
10987
|
check: "license_key_present",
|
|
10981
|
-
|
|
10982
|
-
detail: loadLicense() ? "license.key found" : "missing ~/.exe-os/license.key; run exe-os setup or exe-os cloud setup"
|
|
10988
|
+
level: loadLicense() ? "pass" : "fail",
|
|
10989
|
+
detail: loadLicense() ? "license.key found" : "missing ~/.exe-os/license.key; run exe-os setup or exe-os cloud setup",
|
|
10990
|
+
next: loadLicense() ? void 0 : "Run `exe-os setup` or ask AskExe for the customer license key."
|
|
10983
10991
|
});
|
|
10984
10992
|
checks.push({
|
|
10985
10993
|
check: "license_token_cached",
|
|
10986
|
-
|
|
10987
|
-
detail: readCachedLicenseToken() ? "cached license token found" : "no cached token yet; support can still use license.key"
|
|
10994
|
+
level: readCachedLicenseToken() ? "pass" : "warn",
|
|
10995
|
+
detail: readCachedLicenseToken() ? "cached license token found" : "no cached token yet; support can still use license.key",
|
|
10996
|
+
next: readCachedLicenseToken() ? void 0 : "This is OK if license.key exists. It refreshes after cloud/license validation."
|
|
10988
10997
|
});
|
|
10989
10998
|
try {
|
|
10990
10999
|
const res = await fetch(endpoints.healthEndpoint, { method: "GET", signal: AbortSignal.timeout(1e4) });
|
|
10991
11000
|
const body = await safeJson2(res);
|
|
10992
11001
|
checks.push({
|
|
10993
11002
|
check: "support_health_endpoint",
|
|
10994
|
-
|
|
10995
|
-
detail: `${res.status} ${body?.status ?? res.statusText}
|
|
11003
|
+
level: res.ok && body?.status !== "down" ? "pass" : "fail",
|
|
11004
|
+
detail: `${res.status} ${body?.status ?? res.statusText}`,
|
|
11005
|
+
next: res.ok ? void 0 : "Check internet access, DNS, or AskExe support status."
|
|
10996
11006
|
});
|
|
10997
11007
|
for (const remote of body?.checks ?? []) {
|
|
11008
|
+
const name = remote.name ?? "unknown";
|
|
10998
11009
|
checks.push({
|
|
10999
|
-
check: `server_${
|
|
11000
|
-
|
|
11001
|
-
detail: remote.detail ?? (remote.ok ? "ok" : "failed")
|
|
11010
|
+
check: `server_${name}`,
|
|
11011
|
+
level: remote.ok === true ? "pass" : name === "admin_inbox_configured" ? "warn" : "fail",
|
|
11012
|
+
detail: remote.detail ?? (remote.ok ? "ok" : "failed"),
|
|
11013
|
+
next: remote.ok ? void 0 : "AskExe must fix this server-side."
|
|
11002
11014
|
});
|
|
11003
11015
|
}
|
|
11004
11016
|
} catch (err) {
|
|
11005
11017
|
checks.push({
|
|
11006
11018
|
check: "support_health_endpoint",
|
|
11007
|
-
|
|
11008
|
-
detail: err instanceof Error ? err.message : String(err)
|
|
11019
|
+
level: "fail",
|
|
11020
|
+
detail: err instanceof Error ? err.message : String(err),
|
|
11021
|
+
next: "Check internet access, then run `exe-os support health` again."
|
|
11009
11022
|
});
|
|
11010
11023
|
}
|
|
11011
11024
|
return checks;
|
|
@@ -11018,9 +11031,14 @@ async function runTest(project) {
|
|
|
11018
11031
|
const id = randomUUID4();
|
|
11019
11032
|
const version = readPackageVersion();
|
|
11020
11033
|
const reportPath = writeLocalTestReport(id, project, version);
|
|
11021
|
-
checks.push({ check: "local_report_file",
|
|
11034
|
+
checks.push({ check: "local_report_file", level: "pass", detail: reportPath });
|
|
11022
11035
|
if (!licenseKey && !licenseToken) {
|
|
11023
|
-
checks.push({
|
|
11036
|
+
checks.push({
|
|
11037
|
+
check: "upstream_post",
|
|
11038
|
+
level: "fail",
|
|
11039
|
+
detail: "not sent because this device has no license key/token",
|
|
11040
|
+
next: "Run `exe-os setup` or ask AskExe to provision this customer device."
|
|
11041
|
+
});
|
|
11024
11042
|
return checks;
|
|
11025
11043
|
}
|
|
11026
11044
|
const payload = {
|
|
@@ -11053,14 +11071,20 @@ async function runTest(project) {
|
|
|
11053
11071
|
const data = await safeJson2(res);
|
|
11054
11072
|
checks.push({
|
|
11055
11073
|
check: "upstream_post",
|
|
11056
|
-
|
|
11057
|
-
detail: res.ok ? `sent id=${String(data?.id ?? id)}` :
|
|
11074
|
+
level: res.ok ? "pass" : "fail",
|
|
11075
|
+
detail: res.ok ? `sent id=${String(data?.id ?? id)}` : summarizeHttpFailure(res.status, data),
|
|
11076
|
+
next: res.ok ? void 0 : nextForPostFailure(res.status)
|
|
11058
11077
|
});
|
|
11059
11078
|
if (res.ok) {
|
|
11060
11079
|
checks.push(await maybeCloseAdmin(String(data?.id ?? id), endpoints.adminEndpoint, version));
|
|
11061
11080
|
}
|
|
11062
11081
|
} catch (err) {
|
|
11063
|
-
checks.push({
|
|
11082
|
+
checks.push({
|
|
11083
|
+
check: "upstream_post",
|
|
11084
|
+
level: "fail",
|
|
11085
|
+
detail: err instanceof Error ? err.message : String(err),
|
|
11086
|
+
next: "Check internet access, then run `exe-os support test` again."
|
|
11087
|
+
});
|
|
11064
11088
|
}
|
|
11065
11089
|
return checks;
|
|
11066
11090
|
}
|
|
@@ -11078,9 +11102,14 @@ function checkLocalWrite() {
|
|
|
11078
11102
|
mkdirSync13(dir, { recursive: true, mode: 448 });
|
|
11079
11103
|
writeFileSync13(testPath, "ok\n", { mode: 384 });
|
|
11080
11104
|
unlinkSync7(testPath);
|
|
11081
|
-
return { check: "local_bug_report_dir_writable",
|
|
11105
|
+
return { check: "local_bug_report_dir_writable", level: "pass", detail: dir };
|
|
11082
11106
|
} catch (err) {
|
|
11083
|
-
return {
|
|
11107
|
+
return {
|
|
11108
|
+
check: "local_bug_report_dir_writable",
|
|
11109
|
+
level: "fail",
|
|
11110
|
+
detail: err instanceof Error ? err.message : String(err),
|
|
11111
|
+
next: "Fix permissions on ~/.exe-os or rerun setup on a writable user account."
|
|
11112
|
+
};
|
|
11084
11113
|
}
|
|
11085
11114
|
}
|
|
11086
11115
|
function writeLocalTestReport(id, project, version) {
|
|
@@ -11100,7 +11129,7 @@ Synthetic smoke test from \`exe-os support test\`. Safe to close.
|
|
|
11100
11129
|
async function maybeCloseAdmin(id, adminEndpoint, version) {
|
|
11101
11130
|
const token = process.env.ASKEXE_SUPPORT_ADMIN_TOKEN ?? process.env.EXE_SUPPORT_ADMIN_TOKEN;
|
|
11102
11131
|
if (!token) {
|
|
11103
|
-
return { check: "askexe_admin_autoclose",
|
|
11132
|
+
return { check: "askexe_admin_autoclose", level: "warn", detail: "skipped; admin token is AskExe-only" };
|
|
11104
11133
|
}
|
|
11105
11134
|
try {
|
|
11106
11135
|
const res = await fetch(`${adminEndpoint}/${encodeURIComponent(id)}`, {
|
|
@@ -11113,9 +11142,19 @@ async function maybeCloseAdmin(id, adminEndpoint, version) {
|
|
|
11113
11142
|
}),
|
|
11114
11143
|
signal: AbortSignal.timeout(1e4)
|
|
11115
11144
|
});
|
|
11116
|
-
return {
|
|
11145
|
+
return {
|
|
11146
|
+
check: "askexe_admin_autoclose",
|
|
11147
|
+
level: res.ok ? "pass" : "warn",
|
|
11148
|
+
detail: res.ok ? "closed" : `${res.status} ${await res.text()}`,
|
|
11149
|
+
next: res.ok ? void 0 : "Report was sent; AskExe can close the smoke report manually."
|
|
11150
|
+
};
|
|
11117
11151
|
} catch (err) {
|
|
11118
|
-
return {
|
|
11152
|
+
return {
|
|
11153
|
+
check: "askexe_admin_autoclose",
|
|
11154
|
+
level: "warn",
|
|
11155
|
+
detail: err instanceof Error ? err.message : String(err),
|
|
11156
|
+
next: "Report was sent; AskExe can close the smoke report manually."
|
|
11157
|
+
};
|
|
11119
11158
|
}
|
|
11120
11159
|
}
|
|
11121
11160
|
function readPackageVersion() {
|
|
@@ -11145,14 +11184,54 @@ function getArg(argv, name) {
|
|
|
11145
11184
|
const found = argv.find((arg) => arg.startsWith(prefix));
|
|
11146
11185
|
return found?.slice(prefix.length);
|
|
11147
11186
|
}
|
|
11148
|
-
function
|
|
11187
|
+
function hasFailures(rows) {
|
|
11188
|
+
return rows.some((row) => row.level === "fail");
|
|
11189
|
+
}
|
|
11190
|
+
function summarizeHttpFailure(status, data) {
|
|
11191
|
+
const error = data?.error;
|
|
11192
|
+
return `${status} ${error?.message ?? JSON.stringify(data)}`;
|
|
11193
|
+
}
|
|
11194
|
+
function nextForPostFailure(status) {
|
|
11195
|
+
if (status === 401) return "License credentials were not sent. Run `exe-os support health` and check license_key_present.";
|
|
11196
|
+
if (status === 403) return "License is valid locally but not accepted by support intake. AskExe must check server-side license provisioning.";
|
|
11197
|
+
if (status >= 500) return "AskExe support intake is unhealthy server-side. Try again shortly and report the local file path.";
|
|
11198
|
+
return "Run `exe-os support health`; if it passes, send this output to AskExe.";
|
|
11199
|
+
}
|
|
11200
|
+
function printHelp() {
|
|
11201
|
+
console.log(`
|
|
11202
|
+
exe-os support
|
|
11203
|
+
|
|
11204
|
+
Customer-safe diagnostics for AskExe bug-report intake.
|
|
11205
|
+
|
|
11206
|
+
Commands:
|
|
11207
|
+
exe-os support health Check local setup + AskExe support server health
|
|
11208
|
+
exe-os support test --project hygo Send a safe smoke report end-to-end
|
|
11209
|
+
|
|
11210
|
+
What success means:
|
|
11211
|
+
health = this device looks ready
|
|
11212
|
+
test = AskExe received a real report from this device
|
|
11213
|
+
`);
|
|
11214
|
+
}
|
|
11215
|
+
function output(rows, json, command) {
|
|
11149
11216
|
if (json) {
|
|
11150
|
-
console.log(JSON.stringify({ ok: rows
|
|
11217
|
+
console.log(JSON.stringify({ ok: !hasFailures(rows), checks: rows }, null, 2));
|
|
11151
11218
|
return;
|
|
11152
11219
|
}
|
|
11153
|
-
console.log(
|
|
11220
|
+
console.log(`
|
|
11221
|
+
exe-os support ${command}
|
|
11222
|
+
`);
|
|
11154
11223
|
for (const row of rows) {
|
|
11155
|
-
|
|
11224
|
+
const icon = row.level === "pass" ? "\u2705" : row.level === "warn" ? "\u26A0\uFE0F " : "\u274C";
|
|
11225
|
+
console.log(`${icon} ${row.check}: ${row.detail}`);
|
|
11226
|
+
if (row.next) console.log(` \u2192 ${row.next}`);
|
|
11227
|
+
}
|
|
11228
|
+
console.log("");
|
|
11229
|
+
if (hasFailures(rows)) {
|
|
11230
|
+
console.log("Result: not ready. Fix the failed item(s), then rerun this command.");
|
|
11231
|
+
} else if (rows.some((row) => row.level === "warn")) {
|
|
11232
|
+
console.log("Result: ready with warnings. Bug reports can be sent; warnings are informational unless AskExe asked for stricter validation.");
|
|
11233
|
+
} else {
|
|
11234
|
+
console.log(command === "test" ? "Result: ready. AskExe received the test report." : "Result: ready. Run `exe-os support test --project <customer>` for an end-to-end send test.");
|
|
11156
11235
|
}
|
|
11157
11236
|
console.log("");
|
|
11158
11237
|
}
|
|
@@ -20172,7 +20251,7 @@ function parseArgs4(args2) {
|
|
|
20172
20251
|
else if (arg === "--allow-breaking") opts.allowedBreakingChangeIds.push(...next().split(",").map((s) => s.trim()).filter(Boolean));
|
|
20173
20252
|
else if (arg.startsWith("--allow-breaking=")) opts.allowedBreakingChangeIds.push(...arg.split("=")[1].split(",").map((s) => s.trim()).filter(Boolean));
|
|
20174
20253
|
else if (arg === "--help" || arg === "-h") {
|
|
20175
|
-
|
|
20254
|
+
printHelp2();
|
|
20176
20255
|
process.exit(0);
|
|
20177
20256
|
} else {
|
|
20178
20257
|
throw new Error(`Unknown option: ${arg}`);
|
|
@@ -20180,7 +20259,7 @@ function parseArgs4(args2) {
|
|
|
20180
20259
|
}
|
|
20181
20260
|
return opts;
|
|
20182
20261
|
}
|
|
20183
|
-
function
|
|
20262
|
+
function printHelp2() {
|
|
20184
20263
|
console.log(`exe-os stack-update \u2014 update a self-hosted Exe OS stack from a pinned manifest
|
|
20185
20264
|
|
|
20186
20265
|
Usage:
|
|
@@ -20450,7 +20529,7 @@ var registry_proxy_exports = {};
|
|
|
20450
20529
|
__export(registry_proxy_exports, {
|
|
20451
20530
|
main: () => main8
|
|
20452
20531
|
});
|
|
20453
|
-
function
|
|
20532
|
+
function printHelp3() {
|
|
20454
20533
|
console.log(`exe-os registry-proxy \u2014 authenticated pull-through proxy for AskExe customer images
|
|
20455
20534
|
|
|
20456
20535
|
Environment:
|
|
@@ -20469,7 +20548,7 @@ Docker image shape for clients:
|
|
|
20469
20548
|
}
|
|
20470
20549
|
async function main8(args2 = process.argv.slice(2)) {
|
|
20471
20550
|
if (args2.includes("--help") || args2.includes("-h")) {
|
|
20472
|
-
|
|
20551
|
+
printHelp3();
|
|
20473
20552
|
return;
|
|
20474
20553
|
}
|
|
20475
20554
|
await runRegistryProxy(registryProxyOptionsFromEnv());
|
|
@@ -153,9 +153,13 @@ test("Support intake \u2014 customer CLI smoke test is routed", () => {
|
|
|
153
153
|
const cli = readSrc("src/bin/cli.ts");
|
|
154
154
|
const support = readSrc("src/bin/exe-support.ts");
|
|
155
155
|
const tsup = readSrc("tsup.config.ts");
|
|
156
|
+
const mcpTools = readSrc("src/mcp/tools/support.ts");
|
|
157
|
+
const registry = readSrc("src/mcp/register-tools.ts");
|
|
156
158
|
if (!cli.includes('args[0] === "support"')) return "exe-os support route missing";
|
|
157
159
|
if (!support.includes("support health") || !support.includes("support test")) return "support CLI missing health/test commands";
|
|
158
160
|
if (!tsup.includes('"bin/exe-support"')) return "exe-support missing from build entries";
|
|
161
|
+
if (!mcpTools.includes("support_health") || !mcpTools.includes("support_test")) return "support MCP tools missing";
|
|
162
|
+
if (!registry.includes("registerSupportTools")) return "support MCP tools not registered";
|
|
159
163
|
return true;
|
|
160
164
|
});
|
|
161
165
|
test("Support intake \u2014 API health route and cloud-sync license fallback exist", () => {
|
package/dist/bin/exe-agent.js
CHANGED
|
@@ -1375,7 +1375,7 @@ var PLATFORM_PROCEDURES = [
|
|
|
1375
1375
|
title: "Customer patch triage \u2014 upstream bug vs customization",
|
|
1376
1376
|
domain: "support",
|
|
1377
1377
|
priority: "p0",
|
|
1378
|
-
content: "When an agent encounters a suspected Exe OS bug, update breakage, MCP/tool failure, installer issue, memory/orchestration defect, or customer-local patch need, it MUST use create_bug_report. Do this before or alongside any local workaround so the report reaches AskExe support directly via the customer's license. Do NOT ask the founder for permission to file a required bug report. If create_bug_report is deferred/lazy-loaded, load it and call it. If it is unavailable in the live MCP surface, report 'create_bug_report unavailable in this session' and save a local report in exe/output \u2014 never claim the tool does not exist unless the live MCP surface was checked. If upstream delivery fails,
|
|
1378
|
+
content: "When an agent encounters a suspected Exe OS bug, update breakage, MCP/tool failure, installer issue, memory/orchestration defect, or customer-local patch need, it MUST use create_bug_report. Do this before or alongside any local workaround so the report reaches AskExe support directly via the customer's license. Do NOT ask the founder for permission to file a required bug report. If create_bug_report is deferred/lazy-loaded, load it and call it. If it is unavailable in the live MCP surface, report 'create_bug_report unavailable in this session' and save a local report in exe/output \u2014 never claim the tool does not exist unless the live MCP surface was checked. If upstream delivery fails, call support_test (MCP) and include its result in the local report so AskExe can distinguish customer setup, license provisioning, and server intake issues; only ask the founder to run `exe-os support test` if MCP is disconnected/unavailable. Classify first: upstream_bug = reproducible exe-os/platform defect; customer_customization = identity, behavior, procedure, config, branding, workflow preference that belongs in customer-owned layers; emergency_hotfix = temporary local patch. For upstream bugs/emergency hotfixes include version, repro steps, expected/actual, files changed, workaround, and local diff summary. Avoid permanent platform-code patches unless founder approves; if a hotfix is unavoidable, document it in the bug report and re-check after npm update."
|
|
1379
1379
|
},
|
|
1380
1380
|
// --- Operations ---
|
|
1381
1381
|
{
|
|
@@ -1457,7 +1457,7 @@ var PLATFORM_PROCEDURES = [
|
|
|
1457
1457
|
title: "MCP tools \u2014 identity, behavior, and decisions",
|
|
1458
1458
|
domain: "tool-use",
|
|
1459
1459
|
priority: "p1",
|
|
1460
|
-
content: "get_identity: read an agent's exe.md (Layer 1 identity). update_identity: write an agent's exe.md. Identity > behavior \u2014 use for permanent rules. store_behavior: record a correction or pattern for an agent (Layer 2 expertise). list_behaviors: view an agent's active behaviors. deactivate_behavior: soft-delete a stale or conflicting behavior. store_decision: record an ADR (architectural decision record). get_decision: retrieve a past decision by query. create_bug_report: customer-facing bug/support intake; use whenever an Exe OS bug or emergency hotfix is encountered so the report reaches AskExe directly. Customers only get report access; internal list/get/triage support tools are AskExe-only. If a customer-side agent cannot send upstream,
|
|
1460
|
+
content: "get_identity: read an agent's exe.md (Layer 1 identity). update_identity: write an agent's exe.md. Identity > behavior \u2014 use for permanent rules. store_behavior: record a correction or pattern for an agent (Layer 2 expertise). list_behaviors: view an agent's active behaviors. deactivate_behavior: soft-delete a stale or conflicting behavior. store_decision: record an ADR (architectural decision record). get_decision: retrieve a past decision by query. create_bug_report: customer-facing bug/support intake; use whenever an Exe OS bug or emergency hotfix is encountered so the report reaches AskExe directly. support_health: check local support readiness and AskExe support server health without filing a report. support_test: file a safe end-to-end smoke report. Customers only get report/test access; internal list/get/triage support tools are AskExe-only. If a customer-side agent cannot send upstream, call support_test first; only fall back to the terminal command `exe-os support test` when MCP is disconnected."
|
|
1461
1461
|
},
|
|
1462
1462
|
{
|
|
1463
1463
|
title: "MCP tools \u2014 communication and messaging",
|
package/dist/bin/exe-assign.js
CHANGED
|
@@ -3512,7 +3512,7 @@ var init_platform_procedures = __esm({
|
|
|
3512
3512
|
title: "Customer patch triage \u2014 upstream bug vs customization",
|
|
3513
3513
|
domain: "support",
|
|
3514
3514
|
priority: "p0",
|
|
3515
|
-
content: "When an agent encounters a suspected Exe OS bug, update breakage, MCP/tool failure, installer issue, memory/orchestration defect, or customer-local patch need, it MUST use create_bug_report. Do this before or alongside any local workaround so the report reaches AskExe support directly via the customer's license. Do NOT ask the founder for permission to file a required bug report. If create_bug_report is deferred/lazy-loaded, load it and call it. If it is unavailable in the live MCP surface, report 'create_bug_report unavailable in this session' and save a local report in exe/output \u2014 never claim the tool does not exist unless the live MCP surface was checked. If upstream delivery fails,
|
|
3515
|
+
content: "When an agent encounters a suspected Exe OS bug, update breakage, MCP/tool failure, installer issue, memory/orchestration defect, or customer-local patch need, it MUST use create_bug_report. Do this before or alongside any local workaround so the report reaches AskExe support directly via the customer's license. Do NOT ask the founder for permission to file a required bug report. If create_bug_report is deferred/lazy-loaded, load it and call it. If it is unavailable in the live MCP surface, report 'create_bug_report unavailable in this session' and save a local report in exe/output \u2014 never claim the tool does not exist unless the live MCP surface was checked. If upstream delivery fails, call support_test (MCP) and include its result in the local report so AskExe can distinguish customer setup, license provisioning, and server intake issues; only ask the founder to run `exe-os support test` if MCP is disconnected/unavailable. Classify first: upstream_bug = reproducible exe-os/platform defect; customer_customization = identity, behavior, procedure, config, branding, workflow preference that belongs in customer-owned layers; emergency_hotfix = temporary local patch. For upstream bugs/emergency hotfixes include version, repro steps, expected/actual, files changed, workaround, and local diff summary. Avoid permanent platform-code patches unless founder approves; if a hotfix is unavoidable, document it in the bug report and re-check after npm update."
|
|
3516
3516
|
},
|
|
3517
3517
|
// --- Operations ---
|
|
3518
3518
|
{
|
|
@@ -3594,7 +3594,7 @@ var init_platform_procedures = __esm({
|
|
|
3594
3594
|
title: "MCP tools \u2014 identity, behavior, and decisions",
|
|
3595
3595
|
domain: "tool-use",
|
|
3596
3596
|
priority: "p1",
|
|
3597
|
-
content: "get_identity: read an agent's exe.md (Layer 1 identity). update_identity: write an agent's exe.md. Identity > behavior \u2014 use for permanent rules. store_behavior: record a correction or pattern for an agent (Layer 2 expertise). list_behaviors: view an agent's active behaviors. deactivate_behavior: soft-delete a stale or conflicting behavior. store_decision: record an ADR (architectural decision record). get_decision: retrieve a past decision by query. create_bug_report: customer-facing bug/support intake; use whenever an Exe OS bug or emergency hotfix is encountered so the report reaches AskExe directly. Customers only get report access; internal list/get/triage support tools are AskExe-only. If a customer-side agent cannot send upstream,
|
|
3597
|
+
content: "get_identity: read an agent's exe.md (Layer 1 identity). update_identity: write an agent's exe.md. Identity > behavior \u2014 use for permanent rules. store_behavior: record a correction or pattern for an agent (Layer 2 expertise). list_behaviors: view an agent's active behaviors. deactivate_behavior: soft-delete a stale or conflicting behavior. store_decision: record an ADR (architectural decision record). get_decision: retrieve a past decision by query. create_bug_report: customer-facing bug/support intake; use whenever an Exe OS bug or emergency hotfix is encountered so the report reaches AskExe directly. support_health: check local support readiness and AskExe support server health without filing a report. support_test: file a safe end-to-end smoke report. Customers only get report/test access; internal list/get/triage support tools are AskExe-only. If a customer-side agent cannot send upstream, call support_test first; only fall back to the terminal command `exe-os support test` when MCP is disconnected."
|
|
3598
3598
|
},
|
|
3599
3599
|
{
|
|
3600
3600
|
title: "MCP tools \u2014 communication and messaging",
|