@autohq/cli 0.1.397 → 0.1.398
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 +104 -33
- package/dist/index.js +113 -41
- package/package.json +1 -1
package/dist/agent-bridge.js
CHANGED
|
@@ -30819,7 +30819,7 @@ Object.assign(lookup, {
|
|
|
30819
30819
|
// package.json
|
|
30820
30820
|
var package_default = {
|
|
30821
30821
|
name: "@autohq/cli",
|
|
30822
|
-
version: "0.1.
|
|
30822
|
+
version: "0.1.398",
|
|
30823
30823
|
license: "SEE LICENSE IN README.md",
|
|
30824
30824
|
publishConfig: {
|
|
30825
30825
|
access: "public"
|
|
@@ -33716,6 +33716,52 @@ var SecretRevealResponseSchema = external_exports.object({
|
|
|
33716
33716
|
value: external_exports.string()
|
|
33717
33717
|
});
|
|
33718
33718
|
|
|
33719
|
+
// ../../packages/schemas/src/session-bindings.ts
|
|
33720
|
+
var BINDING_TARGET_TYPES = [
|
|
33721
|
+
"github.pull_request",
|
|
33722
|
+
"github.issue",
|
|
33723
|
+
"slack.thread",
|
|
33724
|
+
"chat.message",
|
|
33725
|
+
"agent.singleton"
|
|
33726
|
+
];
|
|
33727
|
+
var TRIGGER_BINDING_TARGET_TYPES = [
|
|
33728
|
+
"github.pull_request",
|
|
33729
|
+
"github.issue",
|
|
33730
|
+
"slack.thread",
|
|
33731
|
+
"agent.singleton"
|
|
33732
|
+
];
|
|
33733
|
+
var SESSION_BINDING_SOURCES = [
|
|
33734
|
+
"trigger_spawn",
|
|
33735
|
+
"agent_tool",
|
|
33736
|
+
"chat_send",
|
|
33737
|
+
"system"
|
|
33738
|
+
];
|
|
33739
|
+
var SESSION_BINDING_STATUSES = ["active", "released"];
|
|
33740
|
+
var SESSION_BINDING_RELEASE_POLICIES = ["manual", "held"];
|
|
33741
|
+
var SESSION_BINDING_RELEASED_BY = [
|
|
33742
|
+
"agent_tool",
|
|
33743
|
+
"archive",
|
|
33744
|
+
"trigger_release",
|
|
33745
|
+
"operator",
|
|
33746
|
+
"takeover"
|
|
33747
|
+
];
|
|
33748
|
+
var BindingTargetTypeSchema = external_exports.enum(BINDING_TARGET_TYPES);
|
|
33749
|
+
var TriggerBindingTargetTypeSchema = external_exports.enum(
|
|
33750
|
+
TRIGGER_BINDING_TARGET_TYPES
|
|
33751
|
+
);
|
|
33752
|
+
var SessionBindingSourceSchema = external_exports.enum(SESSION_BINDING_SOURCES);
|
|
33753
|
+
var SessionBindingStatusSchema = external_exports.enum(SESSION_BINDING_STATUSES);
|
|
33754
|
+
var SessionBindingReleasePolicySchema = external_exports.enum(
|
|
33755
|
+
SESSION_BINDING_RELEASE_POLICIES
|
|
33756
|
+
);
|
|
33757
|
+
var SessionBindingReleasedBySchema = external_exports.enum(
|
|
33758
|
+
SESSION_BINDING_RELEASED_BY
|
|
33759
|
+
);
|
|
33760
|
+
var BindingTargetSchema = external_exports.object({
|
|
33761
|
+
type: BindingTargetTypeSchema,
|
|
33762
|
+
externalId: external_exports.string().min(1)
|
|
33763
|
+
});
|
|
33764
|
+
|
|
33719
33765
|
// ../../packages/schemas/src/tools.ts
|
|
33720
33766
|
var REMOTE_MCP_TRANSPORTS = ["streamable_http"];
|
|
33721
33767
|
var LOCAL_TOOL_IMPLEMENTATIONS = ["auto", "chat", "ping"];
|
|
@@ -33887,38 +33933,6 @@ var InlineAgentToolSchema = RemoteMcpToolSchema.extend({
|
|
|
33887
33933
|
var AgentToolRefSchema = InlineAgentToolSchema;
|
|
33888
33934
|
var AgentToolsSchema = external_exports.record(ToolAliasSchema, AgentToolRefSchema);
|
|
33889
33935
|
|
|
33890
|
-
// ../../packages/schemas/src/session-bindings.ts
|
|
33891
|
-
var BINDING_TARGET_TYPES = [
|
|
33892
|
-
"github.pull_request",
|
|
33893
|
-
"github.issue",
|
|
33894
|
-
"slack.thread",
|
|
33895
|
-
"chat.message",
|
|
33896
|
-
"agent.singleton"
|
|
33897
|
-
];
|
|
33898
|
-
var TRIGGER_BINDING_TARGET_TYPES = [
|
|
33899
|
-
"github.pull_request",
|
|
33900
|
-
"github.issue",
|
|
33901
|
-
"slack.thread",
|
|
33902
|
-
"agent.singleton"
|
|
33903
|
-
];
|
|
33904
|
-
var SESSION_BINDING_SOURCES = [
|
|
33905
|
-
"trigger_spawn",
|
|
33906
|
-
"agent_tool",
|
|
33907
|
-
"chat_send",
|
|
33908
|
-
"system"
|
|
33909
|
-
];
|
|
33910
|
-
var SESSION_BINDING_STATUSES = ["active", "released"];
|
|
33911
|
-
var BindingTargetTypeSchema = external_exports.enum(BINDING_TARGET_TYPES);
|
|
33912
|
-
var TriggerBindingTargetTypeSchema = external_exports.enum(
|
|
33913
|
-
TRIGGER_BINDING_TARGET_TYPES
|
|
33914
|
-
);
|
|
33915
|
-
var SessionBindingSourceSchema = external_exports.enum(SESSION_BINDING_SOURCES);
|
|
33916
|
-
var SessionBindingStatusSchema = external_exports.enum(SESSION_BINDING_STATUSES);
|
|
33917
|
-
var BindingTargetSchema = external_exports.object({
|
|
33918
|
-
type: BindingTargetTypeSchema,
|
|
33919
|
-
externalId: external_exports.string().min(1)
|
|
33920
|
-
});
|
|
33921
|
-
|
|
33922
33936
|
// ../../packages/schemas/src/trigger-router.ts
|
|
33923
33937
|
var CANONICAL_ROUTE_BY_KINDS = [
|
|
33924
33938
|
"allLiveSessions",
|
|
@@ -34406,6 +34420,30 @@ var AgentIdentitySchema = external_exports.object({
|
|
|
34406
34420
|
}).strict().refine((identity) => Object.keys(identity).length > 0, {
|
|
34407
34421
|
message: "Identity requires at least one field"
|
|
34408
34422
|
});
|
|
34423
|
+
var BINDING_LIFECYCLE_VALUES = ["manual", "held"];
|
|
34424
|
+
var BindingLifecycleSpecSchema = external_exports.object({
|
|
34425
|
+
lifecycle: external_exports.enum(BINDING_LIFECYCLE_VALUES).default("manual")
|
|
34426
|
+
}).strict();
|
|
34427
|
+
var AgentBindingsSchema = external_exports.record(external_exports.string(), BindingLifecycleSpecSchema).superRefine((bindings, context) => {
|
|
34428
|
+
for (const key of Object.keys(bindings)) {
|
|
34429
|
+
const parsed = BindingTargetTypeSchema.safeParse(key);
|
|
34430
|
+
if (!parsed.success) {
|
|
34431
|
+
context.addIssue({
|
|
34432
|
+
code: external_exports.ZodIssueCode.custom,
|
|
34433
|
+
path: [key],
|
|
34434
|
+
message: `\`${key}\` is not a valid binding target type`
|
|
34435
|
+
});
|
|
34436
|
+
continue;
|
|
34437
|
+
}
|
|
34438
|
+
if (parsed.data === "agent.singleton") {
|
|
34439
|
+
context.addIssue({
|
|
34440
|
+
code: external_exports.ZodIssueCode.custom,
|
|
34441
|
+
path: [key],
|
|
34442
|
+
message: "`agent.singleton` is excluded from `bindings` constraints; the pool slot has its own release lifecycle"
|
|
34443
|
+
});
|
|
34444
|
+
}
|
|
34445
|
+
}
|
|
34446
|
+
});
|
|
34409
34447
|
var AgentSpecFieldsSchema = external_exports.object({
|
|
34410
34448
|
harness: external_exports.enum(AGENT_HARNESSES).optional(),
|
|
34411
34449
|
model: AgentModelSelectionSchema.optional(),
|
|
@@ -34423,6 +34461,7 @@ var AgentSpecFieldsSchema = external_exports.object({
|
|
|
34423
34461
|
replace: AgentReplacePolicySchema.optional(),
|
|
34424
34462
|
onReplace: external_exports.string().trim().min(1).max(2e4).optional(),
|
|
34425
34463
|
manages: AgentManagesSchema.optional(),
|
|
34464
|
+
bindings: AgentBindingsSchema.default({}),
|
|
34426
34465
|
workingDirectory: external_exports.string().trim().min(1).optional(),
|
|
34427
34466
|
tools: AgentToolsSchema.default({})
|
|
34428
34467
|
});
|
|
@@ -34456,6 +34495,7 @@ var AgentApplySpecSchema = AgentSpecFieldsSchema.extend({
|
|
|
34456
34495
|
validateRunnableConfig(spec, context);
|
|
34457
34496
|
validateAgentModelFieldsForHarness(spec, context);
|
|
34458
34497
|
validateConcurrencyConfig(spec, context);
|
|
34498
|
+
validateBindingsConfig(spec, context);
|
|
34459
34499
|
validateTriggerReleaseConfig(spec, context);
|
|
34460
34500
|
});
|
|
34461
34501
|
function validateConcurrencyConfig(spec, context) {
|
|
@@ -34495,6 +34535,35 @@ function validateConcurrencyConfig(spec, context) {
|
|
|
34495
34535
|
function isSlotDeliveryTrigger(trigger) {
|
|
34496
34536
|
return trigger.routing.kind === "deliver" && !trigger.routing.routeBy;
|
|
34497
34537
|
}
|
|
34538
|
+
function validateBindingsConfig(spec, context) {
|
|
34539
|
+
if (!spec.bindings) {
|
|
34540
|
+
return;
|
|
34541
|
+
}
|
|
34542
|
+
const heldTargets = new Set(
|
|
34543
|
+
Object.entries(spec.bindings).filter(([, config2]) => config2.lifecycle === "held").map(([target]) => target)
|
|
34544
|
+
);
|
|
34545
|
+
if (heldTargets.size === 0) {
|
|
34546
|
+
return;
|
|
34547
|
+
}
|
|
34548
|
+
const releaseTargets = /* @__PURE__ */ new Set();
|
|
34549
|
+
for (const trigger of spec.triggers) {
|
|
34550
|
+
if (trigger.routing.kind !== "bind") {
|
|
34551
|
+
continue;
|
|
34552
|
+
}
|
|
34553
|
+
if (trigger.routing.release) {
|
|
34554
|
+
releaseTargets.add(trigger.routing.target);
|
|
34555
|
+
}
|
|
34556
|
+
}
|
|
34557
|
+
for (const target of heldTargets) {
|
|
34558
|
+
if (!releaseTargets.has(target)) {
|
|
34559
|
+
context.addIssue({
|
|
34560
|
+
code: external_exports.ZodIssueCode.custom,
|
|
34561
|
+
path: ["bindings", target, "lifecycle"],
|
|
34562
|
+
message: `\`lifecycle: held\` requires at least one bind-routed trigger on "${target}" with \`release: true\` so the platform can release it`
|
|
34563
|
+
});
|
|
34564
|
+
}
|
|
34565
|
+
}
|
|
34566
|
+
}
|
|
34498
34567
|
function validateTriggerReleaseConfig(spec, context) {
|
|
34499
34568
|
for (const [index, trigger] of spec.triggers.entries()) {
|
|
34500
34569
|
if (trigger.routing.kind !== "bind") {
|
|
@@ -36239,6 +36308,8 @@ var RunBindingRecordSchema = external_exports.object({
|
|
|
36239
36308
|
externalId: external_exports.string(),
|
|
36240
36309
|
source: SessionBindingSourceSchema,
|
|
36241
36310
|
status: SessionBindingStatusSchema,
|
|
36311
|
+
releasePolicy: SessionBindingReleasePolicySchema,
|
|
36312
|
+
releasedBy: SessionBindingReleasedBySchema.nullable(),
|
|
36242
36313
|
payload: JsonValueSchema2.nullable(),
|
|
36243
36314
|
createdAt: external_exports.string().datetime(),
|
|
36244
36315
|
updatedAt: external_exports.string().datetime()
|
package/dist/index.js
CHANGED
|
@@ -17823,6 +17823,59 @@ var init_secrets = __esm({
|
|
|
17823
17823
|
}
|
|
17824
17824
|
});
|
|
17825
17825
|
|
|
17826
|
+
// ../../packages/schemas/src/session-bindings.ts
|
|
17827
|
+
var BINDING_TARGET_TYPES, TRIGGER_BINDING_TARGET_TYPES, SESSION_BINDING_SOURCES, SESSION_BINDING_STATUSES, SESSION_BINDING_RELEASE_POLICIES, SESSION_BINDING_RELEASED_BY, BindingTargetTypeSchema, TriggerBindingTargetTypeSchema, SessionBindingSourceSchema, SessionBindingStatusSchema, SessionBindingReleasePolicySchema, SessionBindingReleasedBySchema, BindingTargetSchema;
|
|
17828
|
+
var init_session_bindings = __esm({
|
|
17829
|
+
"../../packages/schemas/src/session-bindings.ts"() {
|
|
17830
|
+
"use strict";
|
|
17831
|
+
init_zod();
|
|
17832
|
+
BINDING_TARGET_TYPES = [
|
|
17833
|
+
"github.pull_request",
|
|
17834
|
+
"github.issue",
|
|
17835
|
+
"slack.thread",
|
|
17836
|
+
"chat.message",
|
|
17837
|
+
"agent.singleton"
|
|
17838
|
+
];
|
|
17839
|
+
TRIGGER_BINDING_TARGET_TYPES = [
|
|
17840
|
+
"github.pull_request",
|
|
17841
|
+
"github.issue",
|
|
17842
|
+
"slack.thread",
|
|
17843
|
+
"agent.singleton"
|
|
17844
|
+
];
|
|
17845
|
+
SESSION_BINDING_SOURCES = [
|
|
17846
|
+
"trigger_spawn",
|
|
17847
|
+
"agent_tool",
|
|
17848
|
+
"chat_send",
|
|
17849
|
+
"system"
|
|
17850
|
+
];
|
|
17851
|
+
SESSION_BINDING_STATUSES = ["active", "released"];
|
|
17852
|
+
SESSION_BINDING_RELEASE_POLICIES = ["manual", "held"];
|
|
17853
|
+
SESSION_BINDING_RELEASED_BY = [
|
|
17854
|
+
"agent_tool",
|
|
17855
|
+
"archive",
|
|
17856
|
+
"trigger_release",
|
|
17857
|
+
"operator",
|
|
17858
|
+
"takeover"
|
|
17859
|
+
];
|
|
17860
|
+
BindingTargetTypeSchema = external_exports.enum(BINDING_TARGET_TYPES);
|
|
17861
|
+
TriggerBindingTargetTypeSchema = external_exports.enum(
|
|
17862
|
+
TRIGGER_BINDING_TARGET_TYPES
|
|
17863
|
+
);
|
|
17864
|
+
SessionBindingSourceSchema = external_exports.enum(SESSION_BINDING_SOURCES);
|
|
17865
|
+
SessionBindingStatusSchema = external_exports.enum(SESSION_BINDING_STATUSES);
|
|
17866
|
+
SessionBindingReleasePolicySchema = external_exports.enum(
|
|
17867
|
+
SESSION_BINDING_RELEASE_POLICIES
|
|
17868
|
+
);
|
|
17869
|
+
SessionBindingReleasedBySchema = external_exports.enum(
|
|
17870
|
+
SESSION_BINDING_RELEASED_BY
|
|
17871
|
+
);
|
|
17872
|
+
BindingTargetSchema = external_exports.object({
|
|
17873
|
+
type: BindingTargetTypeSchema,
|
|
17874
|
+
externalId: external_exports.string().min(1)
|
|
17875
|
+
});
|
|
17876
|
+
}
|
|
17877
|
+
});
|
|
17878
|
+
|
|
17826
17879
|
// ../../packages/schemas/src/tools.ts
|
|
17827
17880
|
function remoteMcpUrlSchema(input) {
|
|
17828
17881
|
return external_exports.string().trim().url().refine(
|
|
@@ -18005,45 +18058,6 @@ var init_tools = __esm({
|
|
|
18005
18058
|
}
|
|
18006
18059
|
});
|
|
18007
18060
|
|
|
18008
|
-
// ../../packages/schemas/src/session-bindings.ts
|
|
18009
|
-
var BINDING_TARGET_TYPES, TRIGGER_BINDING_TARGET_TYPES, SESSION_BINDING_SOURCES, SESSION_BINDING_STATUSES, BindingTargetTypeSchema, TriggerBindingTargetTypeSchema, SessionBindingSourceSchema, SessionBindingStatusSchema, BindingTargetSchema;
|
|
18010
|
-
var init_session_bindings = __esm({
|
|
18011
|
-
"../../packages/schemas/src/session-bindings.ts"() {
|
|
18012
|
-
"use strict";
|
|
18013
|
-
init_zod();
|
|
18014
|
-
BINDING_TARGET_TYPES = [
|
|
18015
|
-
"github.pull_request",
|
|
18016
|
-
"github.issue",
|
|
18017
|
-
"slack.thread",
|
|
18018
|
-
"chat.message",
|
|
18019
|
-
"agent.singleton"
|
|
18020
|
-
];
|
|
18021
|
-
TRIGGER_BINDING_TARGET_TYPES = [
|
|
18022
|
-
"github.pull_request",
|
|
18023
|
-
"github.issue",
|
|
18024
|
-
"slack.thread",
|
|
18025
|
-
"agent.singleton"
|
|
18026
|
-
];
|
|
18027
|
-
SESSION_BINDING_SOURCES = [
|
|
18028
|
-
"trigger_spawn",
|
|
18029
|
-
"agent_tool",
|
|
18030
|
-
"chat_send",
|
|
18031
|
-
"system"
|
|
18032
|
-
];
|
|
18033
|
-
SESSION_BINDING_STATUSES = ["active", "released"];
|
|
18034
|
-
BindingTargetTypeSchema = external_exports.enum(BINDING_TARGET_TYPES);
|
|
18035
|
-
TriggerBindingTargetTypeSchema = external_exports.enum(
|
|
18036
|
-
TRIGGER_BINDING_TARGET_TYPES
|
|
18037
|
-
);
|
|
18038
|
-
SessionBindingSourceSchema = external_exports.enum(SESSION_BINDING_SOURCES);
|
|
18039
|
-
SessionBindingStatusSchema = external_exports.enum(SESSION_BINDING_STATUSES);
|
|
18040
|
-
BindingTargetSchema = external_exports.object({
|
|
18041
|
-
type: BindingTargetTypeSchema,
|
|
18042
|
-
externalId: external_exports.string().min(1)
|
|
18043
|
-
});
|
|
18044
|
-
}
|
|
18045
|
-
});
|
|
18046
|
-
|
|
18047
18061
|
// ../../packages/schemas/src/trigger-router.ts
|
|
18048
18062
|
function normalizeLegacyHeartbeatTickWorkflowInput(input) {
|
|
18049
18063
|
if (!input || typeof input !== "object" || Array.isArray(input)) {
|
|
@@ -18489,6 +18503,35 @@ function validateConcurrencyConfig(spec, context) {
|
|
|
18489
18503
|
function isSlotDeliveryTrigger(trigger) {
|
|
18490
18504
|
return trigger.routing.kind === "deliver" && !trigger.routing.routeBy;
|
|
18491
18505
|
}
|
|
18506
|
+
function validateBindingsConfig(spec, context) {
|
|
18507
|
+
if (!spec.bindings) {
|
|
18508
|
+
return;
|
|
18509
|
+
}
|
|
18510
|
+
const heldTargets = new Set(
|
|
18511
|
+
Object.entries(spec.bindings).filter(([, config2]) => config2.lifecycle === "held").map(([target]) => target)
|
|
18512
|
+
);
|
|
18513
|
+
if (heldTargets.size === 0) {
|
|
18514
|
+
return;
|
|
18515
|
+
}
|
|
18516
|
+
const releaseTargets = /* @__PURE__ */ new Set();
|
|
18517
|
+
for (const trigger of spec.triggers) {
|
|
18518
|
+
if (trigger.routing.kind !== "bind") {
|
|
18519
|
+
continue;
|
|
18520
|
+
}
|
|
18521
|
+
if (trigger.routing.release) {
|
|
18522
|
+
releaseTargets.add(trigger.routing.target);
|
|
18523
|
+
}
|
|
18524
|
+
}
|
|
18525
|
+
for (const target of heldTargets) {
|
|
18526
|
+
if (!releaseTargets.has(target)) {
|
|
18527
|
+
context.addIssue({
|
|
18528
|
+
code: external_exports.ZodIssueCode.custom,
|
|
18529
|
+
path: ["bindings", target, "lifecycle"],
|
|
18530
|
+
message: `\`lifecycle: held\` requires at least one bind-routed trigger on "${target}" with \`release: true\` so the platform can release it`
|
|
18531
|
+
});
|
|
18532
|
+
}
|
|
18533
|
+
}
|
|
18534
|
+
}
|
|
18492
18535
|
function validateTriggerReleaseConfig(spec, context) {
|
|
18493
18536
|
for (const [index, trigger] of spec.triggers.entries()) {
|
|
18494
18537
|
if (trigger.routing.kind !== "bind") {
|
|
@@ -18626,7 +18669,7 @@ function isChatMessageEvent(trigger) {
|
|
|
18626
18669
|
function hasFilterValue(trigger, path2, expected) {
|
|
18627
18670
|
return trigger.where?.[path2] === expected;
|
|
18628
18671
|
}
|
|
18629
|
-
var RESOURCE_KIND_AGENT, AGENT_HARNESSES, AgentHarnessSchema, TriggerFilterScalarSchema, TriggerFilterPathSchema, TriggerFilterClauseSchema, TriggerFilterSchema, TriggerCheckTimeoutSchema, AgentArchiveAfterInactiveSchema, AgentSessionPolicySchema, AgentConcurrencySchema, AgentReplacePolicySchema, AgentManagesSchema, TriggerEventSchema, TriggerEventsSchema, PAYLOAD_PREFIXED_TEMPLATE_TOKEN, TriggerChecksField, TriggerEventSourceFields, TriggerSchema, ApplyTriggerSchema, HeartbeatTriggerSchema, ApplyHeartbeatTriggerSchema, TriggerDefinitionSchema, ApplyTriggerDefinitionSchema, TriggersSchema, ApplyTriggersSchema, AVATAR_ASSET_EXTENSIONS, MAX_AVATAR_ASSET_BYTES, MIN_AVATAR_ASSET_DIMENSION_PX, MAX_AVATAR_ASSET_DIMENSION_PX, PNG_SIGNATURE, AGENT_IDENTITY_DESCRIPTION_MAX_LENGTH, SHA256_HEX_PATTERN, AgentIdentitySchema, AgentSpecFieldsSchema, AgentSpecSchema, AgentApplySpecSchema, AgentStatusSchema, AgentResourceSchema, AgentApplyRequestSchema, ApplyTriggerReceiptSchema, AgentApplyResponseSchema, AGENT_TELEGRAM_IDENTITY_STATUSES, AgentTelegramIdentityStatusSchema, AgentPresenceIdentitySchema, AgentPresenceResponseSchema, AgentPresenceConnectRequestSchema, AgentPresenceConnectPendingSchema, AgentPresenceConnectResponseSchema, AgentPresenceIconRequestSchema, AgentPresenceIconResponseSchema, AgentPresenceCompleteResponseSchema;
|
|
18672
|
+
var RESOURCE_KIND_AGENT, AGENT_HARNESSES, AgentHarnessSchema, TriggerFilterScalarSchema, TriggerFilterPathSchema, TriggerFilterClauseSchema, TriggerFilterSchema, TriggerCheckTimeoutSchema, AgentArchiveAfterInactiveSchema, AgentSessionPolicySchema, AgentConcurrencySchema, AgentReplacePolicySchema, AgentManagesSchema, TriggerEventSchema, TriggerEventsSchema, PAYLOAD_PREFIXED_TEMPLATE_TOKEN, TriggerChecksField, TriggerEventSourceFields, TriggerSchema, ApplyTriggerSchema, HeartbeatTriggerSchema, ApplyHeartbeatTriggerSchema, TriggerDefinitionSchema, ApplyTriggerDefinitionSchema, TriggersSchema, ApplyTriggersSchema, AVATAR_ASSET_EXTENSIONS, MAX_AVATAR_ASSET_BYTES, MIN_AVATAR_ASSET_DIMENSION_PX, MAX_AVATAR_ASSET_DIMENSION_PX, PNG_SIGNATURE, AGENT_IDENTITY_DESCRIPTION_MAX_LENGTH, SHA256_HEX_PATTERN, AgentIdentitySchema, BINDING_LIFECYCLE_VALUES, BindingLifecycleSpecSchema, AgentBindingsSchema, AgentSpecFieldsSchema, AgentSpecSchema, AgentApplySpecSchema, AgentStatusSchema, AgentResourceSchema, AgentApplyRequestSchema, ApplyTriggerReceiptSchema, AgentApplyResponseSchema, AGENT_TELEGRAM_IDENTITY_STATUSES, AgentTelegramIdentityStatusSchema, AgentPresenceIdentitySchema, AgentPresenceResponseSchema, AgentPresenceConnectRequestSchema, AgentPresenceConnectPendingSchema, AgentPresenceConnectResponseSchema, AgentPresenceIconRequestSchema, AgentPresenceIconResponseSchema, AgentPresenceCompleteResponseSchema;
|
|
18630
18673
|
var init_agents = __esm({
|
|
18631
18674
|
"../../packages/schemas/src/agents.ts"() {
|
|
18632
18675
|
"use strict";
|
|
@@ -18637,6 +18680,7 @@ var init_agents = __esm({
|
|
|
18637
18680
|
init_primitives();
|
|
18638
18681
|
init_resources();
|
|
18639
18682
|
init_secrets();
|
|
18683
|
+
init_session_bindings();
|
|
18640
18684
|
init_tools();
|
|
18641
18685
|
init_trigger_router();
|
|
18642
18686
|
RESOURCE_KIND_AGENT = "agent";
|
|
@@ -18801,6 +18845,30 @@ var init_agents = __esm({
|
|
|
18801
18845
|
}).strict().refine((identity2) => Object.keys(identity2).length > 0, {
|
|
18802
18846
|
message: "Identity requires at least one field"
|
|
18803
18847
|
});
|
|
18848
|
+
BINDING_LIFECYCLE_VALUES = ["manual", "held"];
|
|
18849
|
+
BindingLifecycleSpecSchema = external_exports.object({
|
|
18850
|
+
lifecycle: external_exports.enum(BINDING_LIFECYCLE_VALUES).default("manual")
|
|
18851
|
+
}).strict();
|
|
18852
|
+
AgentBindingsSchema = external_exports.record(external_exports.string(), BindingLifecycleSpecSchema).superRefine((bindings, context) => {
|
|
18853
|
+
for (const key of Object.keys(bindings)) {
|
|
18854
|
+
const parsed = BindingTargetTypeSchema.safeParse(key);
|
|
18855
|
+
if (!parsed.success) {
|
|
18856
|
+
context.addIssue({
|
|
18857
|
+
code: external_exports.ZodIssueCode.custom,
|
|
18858
|
+
path: [key],
|
|
18859
|
+
message: `\`${key}\` is not a valid binding target type`
|
|
18860
|
+
});
|
|
18861
|
+
continue;
|
|
18862
|
+
}
|
|
18863
|
+
if (parsed.data === "agent.singleton") {
|
|
18864
|
+
context.addIssue({
|
|
18865
|
+
code: external_exports.ZodIssueCode.custom,
|
|
18866
|
+
path: [key],
|
|
18867
|
+
message: "`agent.singleton` is excluded from `bindings` constraints; the pool slot has its own release lifecycle"
|
|
18868
|
+
});
|
|
18869
|
+
}
|
|
18870
|
+
}
|
|
18871
|
+
});
|
|
18804
18872
|
AgentSpecFieldsSchema = external_exports.object({
|
|
18805
18873
|
harness: external_exports.enum(AGENT_HARNESSES).optional(),
|
|
18806
18874
|
model: AgentModelSelectionSchema.optional(),
|
|
@@ -18818,6 +18886,7 @@ var init_agents = __esm({
|
|
|
18818
18886
|
replace: AgentReplacePolicySchema.optional(),
|
|
18819
18887
|
onReplace: external_exports.string().trim().min(1).max(2e4).optional(),
|
|
18820
18888
|
manages: AgentManagesSchema.optional(),
|
|
18889
|
+
bindings: AgentBindingsSchema.default({}),
|
|
18821
18890
|
workingDirectory: external_exports.string().trim().min(1).optional(),
|
|
18822
18891
|
tools: AgentToolsSchema.default({})
|
|
18823
18892
|
});
|
|
@@ -18835,6 +18904,7 @@ var init_agents = __esm({
|
|
|
18835
18904
|
validateRunnableConfig(spec, context);
|
|
18836
18905
|
validateAgentModelFieldsForHarness(spec, context);
|
|
18837
18906
|
validateConcurrencyConfig(spec, context);
|
|
18907
|
+
validateBindingsConfig(spec, context);
|
|
18838
18908
|
validateTriggerReleaseConfig(spec, context);
|
|
18839
18909
|
});
|
|
18840
18910
|
AgentStatusSchema = external_exports.object({
|
|
@@ -20636,6 +20706,8 @@ var init_session_introspection = __esm({
|
|
|
20636
20706
|
externalId: external_exports.string(),
|
|
20637
20707
|
source: SessionBindingSourceSchema,
|
|
20638
20708
|
status: SessionBindingStatusSchema,
|
|
20709
|
+
releasePolicy: SessionBindingReleasePolicySchema,
|
|
20710
|
+
releasedBy: SessionBindingReleasedBySchema.nullable(),
|
|
20639
20711
|
payload: JsonValueSchema.nullable(),
|
|
20640
20712
|
createdAt: external_exports.string().datetime(),
|
|
20641
20713
|
updatedAt: external_exports.string().datetime()
|
|
@@ -34889,7 +34961,7 @@ var init_package = __esm({
|
|
|
34889
34961
|
"package.json"() {
|
|
34890
34962
|
package_default = {
|
|
34891
34963
|
name: "@autohq/cli",
|
|
34892
|
-
version: "0.1.
|
|
34964
|
+
version: "0.1.398",
|
|
34893
34965
|
license: "SEE LICENSE IN README.md",
|
|
34894
34966
|
publishConfig: {
|
|
34895
34967
|
access: "public"
|