@autohq/cli 0.1.566 → 0.1.568
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/agent-bridge.js +46 -4
- package/dist/index.js +64 -5
- package/package.json +1 -1
package/dist/agent-bridge.js
CHANGED
|
@@ -30880,7 +30880,7 @@ Object.assign(lookup, {
|
|
|
30880
30880
|
// package.json
|
|
30881
30881
|
var package_default = {
|
|
30882
30882
|
name: "@autohq/cli",
|
|
30883
|
-
version: "0.1.
|
|
30883
|
+
version: "0.1.568",
|
|
30884
30884
|
license: "SEE LICENSE IN README.md",
|
|
30885
30885
|
publishConfig: {
|
|
30886
30886
|
access: "public"
|
|
@@ -37701,7 +37701,12 @@ var OrganizationBillingSettingsSchema = external_exports.object({
|
|
|
37701
37701
|
stripeDefaultPaymentMethodId: external_exports.string().trim().min(1).nullable(),
|
|
37702
37702
|
// Safe provenance used server-side to reject a test/live mismatch before a
|
|
37703
37703
|
// real charge attempt. Null preserves compatibility with legacy rows.
|
|
37704
|
-
stripeDefaultPaymentMethodLivemode: external_exports.boolean().nullable().default(null)
|
|
37704
|
+
stripeDefaultPaymentMethodLivemode: external_exports.boolean().nullable().default(null),
|
|
37705
|
+
// The payment method whose most recent off-session charge failed, so the
|
|
37706
|
+
// payment-methods list can flag the exact card. Cleared when that method
|
|
37707
|
+
// charges successfully or is detached.
|
|
37708
|
+
stripePaymentMethodAttentionId: external_exports.string().trim().min(1).nullable().default(null),
|
|
37709
|
+
stripePaymentMethodAttentionAt: external_exports.string().datetime().nullable().default(null)
|
|
37705
37710
|
});
|
|
37706
37711
|
var UpdateOrganizationBillingSettingsRequestSchema = external_exports.object({
|
|
37707
37712
|
spendLimitDayUsd: PositiveUsdSchema.nullable().optional(),
|
|
@@ -37736,15 +37741,52 @@ var AddOrganizationCreditsRequestSchema = external_exports.object({
|
|
|
37736
37741
|
var ReturnPathSchema = external_exports.string().trim().min(1).max(2e3).regex(/^\/(?!\/)/, "returnPath must be an absolute in-app path");
|
|
37737
37742
|
var CreateCreditPurchaseRequestSchema = external_exports.object({
|
|
37738
37743
|
amountUsd: ChargeableUsdSchema,
|
|
37739
|
-
|
|
37744
|
+
idempotencyKey: external_exports.string().trim().regex(/^[A-Za-z0-9_-]{8,64}$/)
|
|
37740
37745
|
}).strict();
|
|
37746
|
+
var CreditPurchaseResponseSchema = external_exports.discriminatedUnion("status", [
|
|
37747
|
+
external_exports.object({
|
|
37748
|
+
status: external_exports.literal("succeeded"),
|
|
37749
|
+
event: CreditEventRecordSchema
|
|
37750
|
+
}),
|
|
37751
|
+
external_exports.object({
|
|
37752
|
+
status: external_exports.literal("processing"),
|
|
37753
|
+
paymentIntentId: external_exports.string().trim().min(1)
|
|
37754
|
+
})
|
|
37755
|
+
]);
|
|
37741
37756
|
var AutoReloadSetupValuesSchema = external_exports.object({
|
|
37742
37757
|
thresholdUsd: AutoTopUpThresholdUsdSchema,
|
|
37743
37758
|
amountUsd: ChargeableUsdSchema
|
|
37744
37759
|
}).strict();
|
|
37745
|
-
var
|
|
37760
|
+
var PAYMENT_METHOD_STATUSES = [
|
|
37761
|
+
"ok",
|
|
37762
|
+
"expired",
|
|
37763
|
+
"requires_attention"
|
|
37764
|
+
];
|
|
37765
|
+
var OrganizationPaymentMethodStatusSchema = external_exports.enum(
|
|
37766
|
+
PAYMENT_METHOD_STATUSES
|
|
37767
|
+
);
|
|
37768
|
+
var OrganizationPaymentMethodSchema = external_exports.object({
|
|
37769
|
+
id: external_exports.string().trim().min(1),
|
|
37770
|
+
brand: external_exports.string().trim().min(1),
|
|
37771
|
+
last4: external_exports.string().trim().min(1),
|
|
37772
|
+
expMonth: external_exports.number().int().min(1).max(12),
|
|
37773
|
+
expYear: external_exports.number().int(),
|
|
37774
|
+
// The org's preferred payment method: the one purchases and auto-top-up
|
|
37775
|
+
// charge. At most one method is default.
|
|
37776
|
+
isDefault: external_exports.boolean(),
|
|
37777
|
+
status: OrganizationPaymentMethodStatusSchema,
|
|
37778
|
+
createdAt: external_exports.string().datetime()
|
|
37779
|
+
});
|
|
37780
|
+
var OrganizationPaymentMethodsResponseSchema = external_exports.object({
|
|
37781
|
+
organizationId: OrganizationIdSchema,
|
|
37782
|
+
paymentMethods: external_exports.array(OrganizationPaymentMethodSchema)
|
|
37783
|
+
});
|
|
37784
|
+
var CreatePaymentMethodSetupSessionRequestSchema = external_exports.object({
|
|
37746
37785
|
returnPath: ReturnPathSchema
|
|
37747
37786
|
}).strict();
|
|
37787
|
+
var UpdateOrganizationPaymentMethodRequestSchema = external_exports.object({
|
|
37788
|
+
default: external_exports.literal(true)
|
|
37789
|
+
}).strict();
|
|
37748
37790
|
var CreateBillingPortalSessionRequestSchema = external_exports.object({
|
|
37749
37791
|
returnPath: ReturnPathSchema
|
|
37750
37792
|
}).strict();
|
package/dist/index.js
CHANGED
|
@@ -21764,7 +21764,7 @@ var init_organization_settings = __esm({
|
|
|
21764
21764
|
});
|
|
21765
21765
|
|
|
21766
21766
|
// ../../packages/schemas/src/billing.ts
|
|
21767
|
-
var FEE_CARD_2026_07_06, BILLING_FEE_CARDS, CURRENT_BILLING_FEE_VERSION, CREDIT_EVENT_TYPES, CreditEventTypeSchema, UsdAmountSchema, NonNegativeUsdSchema, PositiveUsdSchema, MIN_CREDIT_PURCHASE_USD, MAX_CREDIT_PURCHASE_USD, wholeCents, ChargeableUsdSchema, AutoTopUpThresholdUsdSchema, CreditEventSchema, CreditEventRecordSchema, SPENDING_LIMIT_WINDOWS, SpendingLimitWindowSchema, BilledSpendWindowsSchema, OrganizationBillingSettingsSchema, UpdateOrganizationBillingSettingsRequestSchema, OrganizationCreditsResponseSchema, AddOrganizationCreditsRequestSchema, ReturnPathSchema, CreateCreditPurchaseRequestSchema, AutoReloadSetupValuesSchema,
|
|
21767
|
+
var FEE_CARD_2026_07_06, BILLING_FEE_CARDS, CURRENT_BILLING_FEE_VERSION, CREDIT_EVENT_TYPES, CreditEventTypeSchema, UsdAmountSchema, NonNegativeUsdSchema, PositiveUsdSchema, MIN_CREDIT_PURCHASE_USD, MAX_CREDIT_PURCHASE_USD, wholeCents, ChargeableUsdSchema, AutoTopUpThresholdUsdSchema, CreditEventSchema, CreditEventRecordSchema, SPENDING_LIMIT_WINDOWS, SpendingLimitWindowSchema, BilledSpendWindowsSchema, OrganizationBillingSettingsSchema, UpdateOrganizationBillingSettingsRequestSchema, OrganizationCreditsResponseSchema, AddOrganizationCreditsRequestSchema, ReturnPathSchema, CreateCreditPurchaseRequestSchema, CreditPurchaseResponseSchema, AutoReloadSetupValuesSchema, PAYMENT_METHOD_STATUSES, OrganizationPaymentMethodStatusSchema, OrganizationPaymentMethodSchema, OrganizationPaymentMethodsResponseSchema, CreatePaymentMethodSetupSessionRequestSchema, UpdateOrganizationPaymentMethodRequestSchema, CreateBillingPortalSessionRequestSchema;
|
|
21768
21768
|
var init_billing = __esm({
|
|
21769
21769
|
"../../packages/schemas/src/billing.ts"() {
|
|
21770
21770
|
"use strict";
|
|
@@ -21853,7 +21853,12 @@ var init_billing = __esm({
|
|
|
21853
21853
|
stripeDefaultPaymentMethodId: external_exports.string().trim().min(1).nullable(),
|
|
21854
21854
|
// Safe provenance used server-side to reject a test/live mismatch before a
|
|
21855
21855
|
// real charge attempt. Null preserves compatibility with legacy rows.
|
|
21856
|
-
stripeDefaultPaymentMethodLivemode: external_exports.boolean().nullable().default(null)
|
|
21856
|
+
stripeDefaultPaymentMethodLivemode: external_exports.boolean().nullable().default(null),
|
|
21857
|
+
// The payment method whose most recent off-session charge failed, so the
|
|
21858
|
+
// payment-methods list can flag the exact card. Cleared when that method
|
|
21859
|
+
// charges successfully or is detached.
|
|
21860
|
+
stripePaymentMethodAttentionId: external_exports.string().trim().min(1).nullable().default(null),
|
|
21861
|
+
stripePaymentMethodAttentionAt: external_exports.string().datetime().nullable().default(null)
|
|
21857
21862
|
});
|
|
21858
21863
|
UpdateOrganizationBillingSettingsRequestSchema = external_exports.object({
|
|
21859
21864
|
spendLimitDayUsd: PositiveUsdSchema.nullable().optional(),
|
|
@@ -21888,15 +21893,52 @@ var init_billing = __esm({
|
|
|
21888
21893
|
ReturnPathSchema = external_exports.string().trim().min(1).max(2e3).regex(/^\/(?!\/)/, "returnPath must be an absolute in-app path");
|
|
21889
21894
|
CreateCreditPurchaseRequestSchema = external_exports.object({
|
|
21890
21895
|
amountUsd: ChargeableUsdSchema,
|
|
21891
|
-
|
|
21896
|
+
idempotencyKey: external_exports.string().trim().regex(/^[A-Za-z0-9_-]{8,64}$/)
|
|
21892
21897
|
}).strict();
|
|
21898
|
+
CreditPurchaseResponseSchema = external_exports.discriminatedUnion("status", [
|
|
21899
|
+
external_exports.object({
|
|
21900
|
+
status: external_exports.literal("succeeded"),
|
|
21901
|
+
event: CreditEventRecordSchema
|
|
21902
|
+
}),
|
|
21903
|
+
external_exports.object({
|
|
21904
|
+
status: external_exports.literal("processing"),
|
|
21905
|
+
paymentIntentId: external_exports.string().trim().min(1)
|
|
21906
|
+
})
|
|
21907
|
+
]);
|
|
21893
21908
|
AutoReloadSetupValuesSchema = external_exports.object({
|
|
21894
21909
|
thresholdUsd: AutoTopUpThresholdUsdSchema,
|
|
21895
21910
|
amountUsd: ChargeableUsdSchema
|
|
21896
21911
|
}).strict();
|
|
21897
|
-
|
|
21912
|
+
PAYMENT_METHOD_STATUSES = [
|
|
21913
|
+
"ok",
|
|
21914
|
+
"expired",
|
|
21915
|
+
"requires_attention"
|
|
21916
|
+
];
|
|
21917
|
+
OrganizationPaymentMethodStatusSchema = external_exports.enum(
|
|
21918
|
+
PAYMENT_METHOD_STATUSES
|
|
21919
|
+
);
|
|
21920
|
+
OrganizationPaymentMethodSchema = external_exports.object({
|
|
21921
|
+
id: external_exports.string().trim().min(1),
|
|
21922
|
+
brand: external_exports.string().trim().min(1),
|
|
21923
|
+
last4: external_exports.string().trim().min(1),
|
|
21924
|
+
expMonth: external_exports.number().int().min(1).max(12),
|
|
21925
|
+
expYear: external_exports.number().int(),
|
|
21926
|
+
// The org's preferred payment method: the one purchases and auto-top-up
|
|
21927
|
+
// charge. At most one method is default.
|
|
21928
|
+
isDefault: external_exports.boolean(),
|
|
21929
|
+
status: OrganizationPaymentMethodStatusSchema,
|
|
21930
|
+
createdAt: external_exports.string().datetime()
|
|
21931
|
+
});
|
|
21932
|
+
OrganizationPaymentMethodsResponseSchema = external_exports.object({
|
|
21933
|
+
organizationId: OrganizationIdSchema,
|
|
21934
|
+
paymentMethods: external_exports.array(OrganizationPaymentMethodSchema)
|
|
21935
|
+
});
|
|
21936
|
+
CreatePaymentMethodSetupSessionRequestSchema = external_exports.object({
|
|
21898
21937
|
returnPath: ReturnPathSchema
|
|
21899
21938
|
}).strict();
|
|
21939
|
+
UpdateOrganizationPaymentMethodRequestSchema = external_exports.object({
|
|
21940
|
+
default: external_exports.literal(true)
|
|
21941
|
+
}).strict();
|
|
21900
21942
|
CreateBillingPortalSessionRequestSchema = external_exports.object({
|
|
21901
21943
|
returnPath: ReturnPathSchema
|
|
21902
21944
|
}).strict();
|
|
@@ -58225,6 +58267,23 @@ triggers:
|
|
|
58225
58267
|
content: "# Source: https://www.auto.sh/api/v1/templates/%40auto/self-improvement/1.7.0/fragments/environments/agent-runtime.yaml\nharness: claude-code\nenvironment:\n name: agent-runtime\n image:\n kind: preset\n name: node24\n resources:\n memoryMB: 8192\n"
|
|
58226
58268
|
}
|
|
58227
58269
|
]
|
|
58270
|
+
},
|
|
58271
|
+
{
|
|
58272
|
+
version: "1.8.0",
|
|
58273
|
+
files: [
|
|
58274
|
+
{
|
|
58275
|
+
path: "agents/self-improvement-slack.yaml",
|
|
58276
|
+
content: '# Source: https://www.auto.sh/api/v1/templates/%40auto/self-improvement/1.8.0/agents/self-improvement-slack.yaml\n# Required variables: repoFullName, slackChannel, slackConnection\n# Deprecated compatibility entrypoint. New installs should import\n# agents/self-improvement.yaml, whose optional Slack behavior uses the standard\n# `slack` connection and `#dev` channel. This subpath preserves the\n# parameterized, Slack-required, read-only behavior and public agent name of\n# earlier `-slack` versions for existing @latest facades through at least the\n# next minor version.\nimports:\n - ./self-improvement.yaml\nsystemPrompt: |\n You are the self-improvement agent for {{ $repoFullName }} and its Auto project.\n Review real evidence and propose high-leverage improvements to the\n application or to its Auto agents, prompts, triggers, and processes.\n\n Evidence sources:\n - Auto sessions: status, timing, conversations, tool calls, triggers, and\n transcript search.\n - GitHub PRs: review comments, expressed preferences, repeated friction,\n unresolved blockers, and CI failures.\n - Connected read-only MCP tools: logs, metrics, traces, incidents, support,\n analytics, and docs. Do not mutate external systems from this workflow.\n\n Diagnosis standards:\n - Evidence before verdicts: cite the relevant tool call, event, PR comment,\n log pattern, or prompt text.\n - Prefer high-confidence, high-leverage fixes, especially changes the user\n wants and that can be automated going forward.\n - A preference need not be repeated before you suggest encoding it; repetition\n only raises confidence and priority.\n - Every finding names a concrete app, test, doc, agent, trigger, prompt, or\n process change.\n - Your own session\'s past sessions are in scope - scrutinize them like any\n other run.\n\n Report format (your final message, every run):\n 1. Verdict - one line: top opportunity, closures, or why more data is needed.\n 2. Findings - each with evidence, affected surface, and the proposed fix.\n 3. Closures - previously reported problems now resolved.\n 4. Deferred - promising leads skipped because they need more evidence.\n\n Cross-sweep state and query hygiene:\n - Scheduled sweeps run in separate sandboxes. Harness file memory under\n `~/.claude/projects/.../memory` is session-local and ephemeral across\n scheduled sweep sessions.\n - Writing `MEMORY.md` or another memory file is not a durable cross-sweep\n action and is not proof that a future sweep will remember it. Never report\n a memory write as durable recall or use it as evidence of prior delivery.\n - Durable cross-sweep evidence is Auto session history and search, plus\n Slack or Linear records when applicable. Use auto.sessions.list to identify\n recent predecessor sessions, then prefer one auto.sessions.search call per\n candidate with `queries: ["Verdict"]`, `roles: ["assistant"]`,\n `kinds: ["message"]`, and `limit: 3`. Alternatively, read final assistant\n messages with auto.sessions.conversation using `roles: ["assistant"]`,\n `kinds: ["message"]`, `limit: 3`, and `toolResults: "omit"`. Compare from\n that bounded evidence; widen only for a named evidence gap.\n - Keep large GitHub and session reads bounded. For search_pull_requests,\n start with a narrow query with a bounded `perPage`. The GitHub proxy streams\n read results verbatim; `search_pull_requests` itself does not own or\n guarantee file persistence. If the harness result carries both\n `persistedOutputPath` and `persistedOutputSize`, consume that one persisted\n result once locally and continue from it; do not reissue the same oversized\n query. That local file is session-local evidence, not durable cross-sweep\n state.\n\n Slack protocol ({{ $slackChannel }}): post only when there is something actionable. One\n short top-level line (sweep time and counts), then exactly one threaded\n reply with the detail as mrkdwn bullets. Use the threadId returned by\n chat.send for the reply; never guess thread ids. Links are\n <https://url|text>.\ninitialPrompt: |\n A scheduled heartbeat spawned this run (scheduled at\n "{{heartbeat.scheduledAt}}") to sweep the project\'s recent sessions\n for failures, anomalies, PR feedback, and improvement opportunities.\n\n Sweep protocol:\n - Find your previous report with auto.sessions.list/conversation. Avoid\n re-reporting old findings; close resolved ones and escalate recurring ones.\n - Triage recent sessions, PR feedback, and relevant read-only data sources.\n - Deep-dive at most three evidence clusters. Prefer one well-evidenced,\n automatable improvement over many shallow observations.\n\n Deliver per your profile instructions and always end with the four-section\n report.\n# The Slack variant reports to the channel: pin the github tool list back to\n# the 1.0.0 read-only surface (the base widens it for its tracking issue).\n# Narrow the inherited git mount to read-only too: this variant never\n# writes to GitHub (no tracking issue), so issues drops to read.\nmounts:\n - mountPath: /workspace/auto\n auth:\n capabilities:\n contents: read\n pullRequests: read\n issues: read\n checks: read\n actions: read\ntools:\n github:\n kind: github\n tools:\n - search_pull_requests\n - pull_request_read\n - actions_list\n - actions_get\n chat:\n kind: local\n implementation: chat\n auth:\n kind: connection\n provider: slack\n connection: "{{ $slackConnection }}"\n optional: false\ntriggers:\n - name: mention\n event: chat.message.mentioned\n connection: "{{ $slackConnection }}"\n optional: false\n where:\n $.chat.provider: slack\n $.auto.authored: false\n message: |\n {{message.author.userName}} mentioned you on Slack:\n\n {{message.text}}\n\n Channel: {{chat.channelId}}\n Thread: {{chat.threadId}}\n\n Reply in that thread with chat.send. If the user clearly asks for a\n sweep, run it. If required context is missing, ask for the time window,\n target agents, PRs, or data source. Otherwise, briefly explain that you\n review PR feedback, read-only data sources, and Auto session history,\n then propose concrete improvements when something is actionable.\n routing:\n kind: spawn\n'
|
|
58277
|
+
},
|
|
58278
|
+
{
|
|
58279
|
+
path: "agents/self-improvement.yaml",
|
|
58280
|
+
content: '# Source: https://www.auto.sh/api/v1/templates/%40auto/self-improvement/1.8.0/agents/self-improvement.yaml\n# Required variables: repoFullName\nname: self-improvement\nmodel:\n provider: anthropic\n id: claude-opus-4-8\nidentity:\n displayName: Self Improvement\n username: self-improvement\n avatar:\n asset: .auto/assets/self-improvement.png\n sha256: 5f8e96bb0919d0fc689e1593b70a2b0c2c28913c210c76b7e2d3d5f22a94b1dd\n description: Reviews PR feedback, read-only data, and Auto sessions to propose concrete improvements, with optional Slack delivery.\nimports:\n - ../fragments/environments/agent-runtime.yaml\nbindings:\n slack.thread:\n continuity: agent\nsystemPrompt: |\n You are the self-improvement agent for {{ $repoFullName }} and its Auto project.\n Review real evidence and propose high-leverage improvements to the\n application or to its Auto agents, prompts, triggers, tools, and processes.\n Treat the repository\'s committed `.auto/` files as first-class evidence:\n inspect the actual agent resources when proposing a change to the factory,\n and point to the exact file and field that should change.\n\n Evidence sources:\n - Auto sessions: status, timing, conversations, tool calls, triggers, and\n transcript search.\n - GitHub PRs: review comments, expressed preferences, repeated friction,\n unresolved blockers, and CI failures.\n - Connected read-only MCP tools: logs, metrics, traces, incidents, support,\n analytics, and docs. Do not mutate external systems from this workflow.\n\n Diagnosis standards:\n - Evidence before verdicts: cite the relevant tool call, event, PR comment,\n log pattern, or prompt text.\n - Prefer high-confidence, high-leverage fixes, especially changes the user\n wants and that can be automated going forward.\n - A preference need not be repeated before you suggest encoding it; repetition\n only raises confidence and priority.\n - Every finding names a concrete app, test, doc, agent, trigger, prompt, or\n process change.\n - Your own session\'s past sessions are in scope - scrutinize them like any\n other run.\n\n Report format (your final message, every run):\n 1. Verdict - one line: top opportunity, closures, or why more data is needed.\n 2. Findings - each with evidence, affected surface, and the proposed fix.\n 3. Closures - previously reported problems now resolved.\n 4. Deferred - promising leads skipped because they need more evidence.\n\n Delivery: the report is this run\'s final message. Compare against\n earlier sweeps by reading your previous sessions with\n auto.sessions.list/conversation - the session history is the report\n history. Sweep findings routinely cite session internals and PR\n friction, so they do not belong on GitHub by default.\n\n Cross-sweep state and query hygiene:\n - Scheduled sweeps run in separate sandboxes. Harness file memory under\n `~/.claude/projects/.../memory` is session-local and ephemeral across\n scheduled sweep sessions.\n - Writing `MEMORY.md` or another memory file is not a durable cross-sweep\n action and is not proof that a future sweep will remember it. Never report\n a memory write as durable recall or use it as evidence of prior delivery.\n - Durable cross-sweep evidence is Auto session history and search, plus\n Slack or Linear records when applicable. Use auto.sessions.list to identify\n recent predecessor sessions, then prefer one auto.sessions.search call per\n candidate with `queries: ["Verdict"]`, `roles: ["assistant"]`,\n `kinds: ["message"]`, and `limit: 3`. Alternatively, read final assistant\n messages with auto.sessions.conversation using `roles: ["assistant"]`,\n `kinds: ["message"]`, `limit: 3`, and `toolResults: "omit"`. Compare from\n that bounded evidence; widen only for a named evidence gap.\n - Keep large GitHub and session reads bounded. For search_pull_requests,\n start with a narrow query with a bounded `perPage`. The GitHub proxy streams\n read results verbatim; `search_pull_requests` itself does not own or\n guarantee file persistence. If the harness result carries both\n `persistedOutputPath` and `persistedOutputSize`, consume that one persisted\n result once locally and continue from it; do not reissue the same oversized\n query. That local file is session-local evidence, not durable cross-sweep\n state.\n\n Fallback (only when the team has explicitly asked for tracking-issue\n delivery, and never on a public repository): keep a single tracking\n issue titled "Self-improvement sweep reports" - find it with\n search_issues, create it with issue_write only if it is missing, and\n add exactly one comment per sweep with add_issue_comment: one short\n first line (sweep time and counts), then the detail as Markdown\n bullets. Never open a new issue per finding, and post only when there\n is something actionable.\n\n Slack delivery is optional and uses the standard `slack` connection and\n `#dev` channel. When the chat tool is available, post only when there is\n something actionable: one short top-level line with the sweep time and\n counts, then exactly one threaded reply with the detail as mrkdwn bullets.\n Use the threadId returned by chat.send for the reply; never guess thread ids.\n When the tool is unavailable, do not treat Slack delivery as a failure; the\n run report remains the complete sweep. If a user asks for Slack delivery\n while it is unavailable, offer to connect the standard `slack` connection\n and explain that a fresh apply and session make the capability available.\n\n Scheduled sweep closure:\n - Finish the final four-section report/reply and, for actionable findings,\n every required Slack or Chief handoff. Only after every owed delivery is\n complete, call `auto.sessions.complete_current` exactly once with a compact\n one-line handoff.\n - This applies to actionable and no-action sweeps. A no-findings sweep with\n Verdict "Nothing actionable." completes after its final four-section report;\n it owes no Slack or Chief handoff.\n - Never call `auto.sessions.archive_current` to close a sweep. Do not call\n `auto.unbind`, `auto.chat.unsubscribe`, or otherwise release a Slack\n thread binding during closure. The configured agent-continuity\n `slack.thread` binding survives completion while lifecycle remains manual.\n `chat_send` stamps that continuity from this spec. It routes a human reply\n back to this completed holder and reopens this session.\ninitialPrompt: |\n A scheduled heartbeat spawned this run (scheduled at\n "{{heartbeat.scheduledAt}}") to sweep the project\'s recent sessions\n for failures, anomalies, PR feedback, and improvement opportunities.\n\n Sweep protocol:\n - Find your previous report with auto.sessions.list/conversation. Avoid\n re-reporting old findings; close resolved ones and escalate recurring ones.\n - Triage recent sessions, PR feedback, and relevant read-only data sources.\n - Deep-dive at most three evidence clusters. Prefer one well-evidenced,\n automatable improvement over many shallow observations.\n\n Deliver per your profile instructions and always end with the four-section\n report.\nmounts:\n # GitHub App git mount provisions the GitHub MCP proxy (the github\n # tools below are broken without a githubApp mount) and stages a\n # read-only checkout the sweep can ground findings in. Capabilities\n # line up with the declared tools: pullRequests/issues read for PR\n # comment and tracking-issue inspection, issues: write for the opt-in\n # tracking-issue fallback (issue_write/add_issue_comment), actions/checks\n # read for CI. No merge/secrets/workflows.\n - kind: git\n repository: "{{ $repoFullName }}"\n mountPath: /workspace/auto\n ref: main\n auth:\n kind: githubApp\n capabilities:\n contents: read\n pullRequests: read\n issues: write\n checks: read\n actions: read\ntools:\n auto:\n kind: local\n implementation: auto\n github:\n kind: github\n tools:\n - search_pull_requests\n - pull_request_read\n - actions_list\n - actions_get\n - search_issues\n - issue_read\n - issue_write\n - add_issue_comment\n chat:\n kind: local\n implementation: chat\n auth:\n kind: connection\n provider: slack\n connection: slack\n optional: true\ntriggers:\n - name: sweep-heartbeat\n kind: heartbeat\n cron: 0 */2 * * *\n timezone: UTC\n routing:\n kind: spawn\n - name: mention\n event: chat.message.mentioned\n connection: slack\n optional: true\n where:\n $.chat.provider: slack\n $.auto.authored: false\n message: |\n {{message.author.userName}} mentioned you on Slack:\n\n {{message.text}}\n\n Channel: {{chat.channelId}}\n Thread: {{chat.threadId}}\n\n Reply in that thread with chat.send. If the user clearly asks for a\n sweep, run it. If required context is missing, ask for the time window,\n target agents, PRs, or data source. Otherwise, briefly explain that you\n review PR feedback, read-only data sources, and Auto session history,\n then propose concrete improvements when something is actionable.\n routing:\n kind: spawn\n'
|
|
58281
|
+
},
|
|
58282
|
+
{
|
|
58283
|
+
path: "fragments/environments/agent-runtime.yaml",
|
|
58284
|
+
content: "# Source: https://www.auto.sh/api/v1/templates/%40auto/self-improvement/1.8.0/fragments/environments/agent-runtime.yaml\nharness: claude-code\nenvironment:\n name: agent-runtime\n image:\n kind: preset\n name: node24\n resources:\n memoryMB: 8192\n"
|
|
58285
|
+
}
|
|
58286
|
+
]
|
|
58228
58287
|
}
|
|
58229
58288
|
],
|
|
58230
58289
|
"@auto/slopbusters": [
|
|
@@ -84976,7 +85035,7 @@ var init_package = __esm({
|
|
|
84976
85035
|
"package.json"() {
|
|
84977
85036
|
package_default = {
|
|
84978
85037
|
name: "@autohq/cli",
|
|
84979
|
-
version: "0.1.
|
|
85038
|
+
version: "0.1.568",
|
|
84980
85039
|
license: "SEE LICENSE IN README.md",
|
|
84981
85040
|
publishConfig: {
|
|
84982
85041
|
access: "public"
|