@zixt/host 0.0.19 → 0.0.21

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.
Files changed (2) hide show
  1. package/dist/index.js +107 -6
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -31,7 +31,7 @@ import { homedir } from "node:os";
31
31
  // package.json
32
32
  var package_default = {
33
33
  name: "@zixt/host",
34
- version: "0.0.19",
34
+ version: "0.0.21",
35
35
  type: "module",
36
36
  exports: {
37
37
  ".": "./src/client.ts",
@@ -15457,6 +15457,17 @@ var ScheduleSkipReason = external_exports.enum([
15457
15457
  "agent_archived",
15458
15458
  "agent_missing"
15459
15459
  ]);
15460
+ var ScheduleActionRequiredCode = external_exports.enum(["pinned_machine_removed"]);
15461
+ var ScheduleActionRequired = external_exports.object({
15462
+ code: ScheduleActionRequiredCode,
15463
+ /**
15464
+ * The Machine's name as it was when it went away. Null when the Automation was
15465
+ * paused by a later tick rather than by the removal itself — the row is gone by
15466
+ * then, so claiming a name would be inventing one.
15467
+ */
15468
+ machineName: external_exports.string().min(1).max(120).nullable(),
15469
+ at: IsoDate
15470
+ });
15460
15471
  var Schedule = external_exports.object({
15461
15472
  id: ScheduleId,
15462
15473
  orgId: OrgId,
@@ -15474,6 +15485,8 @@ var Schedule = external_exports.object({
15474
15485
  skippedRuns: external_exports.number().int().min(0).default(0),
15475
15486
  lastSkipAt: IsoDate.nullable().default(null),
15476
15487
  lastSkipReason: ScheduleSkipReason.nullable().default(null),
15488
+ /** Set only while this Automation is paused waiting for a person to decide. */
15489
+ actionRequired: ScheduleActionRequired.nullable().default(null),
15477
15490
  nextRunAt: IsoDate,
15478
15491
  createdAt: IsoDate,
15479
15492
  updatedAt: IsoDate
@@ -15818,7 +15831,10 @@ var Task = external_exports.object({
15818
15831
  /** Assignment epoch — bumped every time the task is (re)assigned (PRD §7.4). */
15819
15832
  epoch: external_exports.number().int().min(0),
15820
15833
  hostId: HostId.nullable(),
15821
- /** TS-16: the exact Machine this Task was asked to run on; null lets the dispatcher pick. */
15834
+ /**
15835
+ * TS-16: the Task's durable Machine affinity. Null lets the dispatcher pick
15836
+ * its first Machine; assignment then records that choice for later runs.
15837
+ */
15822
15838
  requestedHostId: HostId.nullable().default(null),
15823
15839
  /** TS-16: per-Task runner/model/effort selection; null runs the teammate's configuration. */
15824
15840
  runner: TaskRunnerSelection.nullable().default(null),
@@ -15962,7 +15978,9 @@ var CreateTaskInput = external_exports.object({
15962
15978
  /** Explicit producer opt-in to the independent TS-14 review workflow. */
15963
15979
  reviewMode: TaskReviewMode.optional(),
15964
15980
  /**
15965
- * Run on this exact Machine (TS-16). Absent means the dispatcher picks.
15981
+ * Run on this exact Machine (TS-16). Absent means the dispatcher picks
15982
+ * the first Machine; the Task then stays there unless a person explicitly
15983
+ * chooses interrupted-work recovery on another Machine.
15966
15984
  * A teammate never runs on two Machines at once (AG-6a), so live work on
15967
15985
  * another Machine truthfully queues this Task rather than overriding it.
15968
15986
  */
@@ -17660,6 +17678,70 @@ var AdminHostProjection = Host.extend({
17660
17678
  telemetryRedacted: external_exports.literal(false),
17661
17679
  operations: AdminHostOperations
17662
17680
  });
17681
+ var ImpactedTasks = external_exports.object({
17682
+ count: external_exports.number().int().min(0),
17683
+ samples: external_exports.array(external_exports.object({ id: TaskId, title: external_exports.string().max(500) }))
17684
+ });
17685
+ var HostRemovalImpact = external_exports.object({
17686
+ hostId: HostId,
17687
+ hostName: external_exports.string().min(1).max(120),
17688
+ /** Non-terminal Tasks currently placed on this Machine. */
17689
+ runningTasks: ImpactedTasks,
17690
+ /** Queued Tasks pinned to it. These move to automatic placement. */
17691
+ queuedPinnedTasks: ImpactedTasks,
17692
+ /** Automations pinned to it. These need an explicit decision. */
17693
+ pinnedAutomations: external_exports.object({
17694
+ count: external_exports.number().int().min(0),
17695
+ samples: external_exports.array(
17696
+ external_exports.object({
17697
+ id: ScheduleId,
17698
+ name: external_exports.string().max(120),
17699
+ agentId: AgentId,
17700
+ agentName: external_exports.string().max(120)
17701
+ })
17702
+ )
17703
+ }),
17704
+ /** Teammates restricted to this Machine alone, which will be able to run nowhere. */
17705
+ strandedAgents: external_exports.object({
17706
+ count: external_exports.number().int().min(0),
17707
+ samples: external_exports.array(external_exports.object({ id: AgentId, name: external_exports.string().max(120) }))
17708
+ }),
17709
+ /** Working folders no other Machine currently reports as usable. */
17710
+ exclusiveWorkspaces: external_exports.array(external_exports.string().max(1e3)),
17711
+ /**
17712
+ * Losses Zixt cannot undo, in plain language: a Host-local browser profile and
17713
+ * its website sessions, and any local work never pushed anywhere.
17714
+ */
17715
+ unrecoverableLosses: external_exports.array(external_exports.string().min(1).max(500)),
17716
+ /** True when pinned Automations exist and `DELETE` therefore needs a decision. */
17717
+ requiresAutomationDecision: external_exports.boolean(),
17718
+ evaluatedAt: IsoDate2
17719
+ });
17720
+ var PinnedAutomationResolution = external_exports.enum(["move_to_auto", "pause"]);
17721
+ var RevokeHostRequest = external_exports.object({
17722
+ /** Required when the impact reports pinned Automations. */
17723
+ pinnedAutomations: PinnedAutomationResolution.optional(),
17724
+ /**
17725
+ * Idempotency key for the whole resolution. A retried removal after a lost
17726
+ * response replays the recorded outcome instead of reporting the Machine
17727
+ * missing.
17728
+ */
17729
+ requestId: external_exports.string().min(8).max(120).optional()
17730
+ }).strict();
17731
+ var HostRemovalOutcome = external_exports.object({
17732
+ hostId: HostId,
17733
+ hostName: external_exports.string().min(1).max(120),
17734
+ queuedTasksMovedToAuto: external_exports.number().int().min(0),
17735
+ automationsMovedToAuto: external_exports.number().int().min(0),
17736
+ automationsPaused: external_exports.number().int().min(0),
17737
+ runningTasksInterrupted: external_exports.number().int().min(0),
17738
+ /** True when this response replayed an earlier identical request. */
17739
+ replayed: external_exports.boolean()
17740
+ });
17741
+ var RevokeHostResponse = external_exports.object({
17742
+ host: AdminHostProjection,
17743
+ removal: HostRemovalOutcome
17744
+ });
17663
17745
  var MemberHostProjection = Host.pick({
17664
17746
  id: true,
17665
17747
  orgId: true,
@@ -17932,7 +18014,9 @@ var AttentionItemType = external_exports.enum([
17932
18014
  "review",
17933
18015
  "handoff",
17934
18016
  "task_failure",
17935
- "dependency"
18017
+ "dependency",
18018
+ /** An Automation paused itself and cannot resume without a person's decision. */
18019
+ "automation_paused"
17936
18020
  ]);
17937
18021
  var AttentionItem = external_exports.object({
17938
18022
  id: external_exports.string().min(1),
@@ -17945,14 +18029,31 @@ var AttentionItem = external_exports.object({
17945
18029
  originTrust: external_exports.enum(["internal", "external"]).nullable(),
17946
18030
  createdAt: IsoDate,
17947
18031
  source: external_exports.object({
17948
- kind: external_exports.enum(["approval", "attempt", "handoff", "task", "readiness", "integration"]),
18032
+ kind: external_exports.enum([
18033
+ "approval",
18034
+ "attempt",
18035
+ "handoff",
18036
+ "task",
18037
+ "readiness",
18038
+ "integration",
18039
+ "schedule"
18040
+ ]),
17949
18041
  id: external_exports.string().min(1),
17950
18042
  version: external_exports.string().min(1)
17951
18043
  }),
17952
18044
  href: external_exports.string().min(1),
17953
18045
  actions: external_exports.array(
17954
18046
  external_exports.object({
17955
- kind: external_exports.enum(["answer", "decide_approval", "review", "decide_handoff", "retry", "repair"]),
18047
+ kind: external_exports.enum([
18048
+ "answer",
18049
+ "decide_approval",
18050
+ "review",
18051
+ "decide_handoff",
18052
+ "retry",
18053
+ "repair",
18054
+ /** Choose a Machine for a paused Automation, or set it back to automatic. */
18055
+ "resume_automation"
18056
+ ]),
17956
18057
  allowed: external_exports.boolean()
17957
18058
  })
17958
18059
  )
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zixt/host",
3
- "version": "0.0.19",
3
+ "version": "0.0.21",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": "./src/client.ts",