@lambdacurry/arbor 0.20.15 → 0.20.17

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/arbor.js +166 -50
  2. package/package.json +1 -1
package/dist/arbor.js CHANGED
@@ -16831,6 +16831,15 @@ var computerRunDurability = exports_external.looseObject({
16831
16831
  reasonCode: exports_external.string()
16832
16832
  })
16833
16833
  });
16834
+ var computerRunDurabilitySummary = exports_external.object({
16835
+ workspace: exports_external.enum(["shared", "isolated"]),
16836
+ parentMutation: exports_external.enum(["direct", "none"]),
16837
+ finishDestroysExecution: exports_external.boolean(),
16838
+ gitPublication: exports_external.object({
16839
+ state: computerRunPublicationState,
16840
+ reasonCode: exports_external.string()
16841
+ })
16842
+ });
16834
16843
  var computerRunFinishAssessment = exports_external.looseObject({
16835
16844
  state: exports_external.enum(["safe", "blocked", "unknown"]),
16836
16845
  requiresDiscard: exports_external.boolean(),
@@ -16966,6 +16975,43 @@ var computerCapabilityCard = exports_external.looseObject({
16966
16975
  runtimeActive: exports_external.boolean()
16967
16976
  })
16968
16977
  });
16978
+ var computerOpenProfile = exports_external.object({
16979
+ id: exports_external.string(),
16980
+ version: exports_external.number(),
16981
+ tools: exports_external.array(exports_external.string()),
16982
+ recommendedEditingPrimitive: exports_external.string()
16983
+ });
16984
+ var computerOpenCapabilities = exports_external.object({
16985
+ capabilities: exports_external.array(exports_external.object({
16986
+ id: exports_external.string(),
16987
+ state: exports_external.enum(["ready", "available"])
16988
+ }))
16989
+ });
16990
+ var computerOpenGuidanceEntry = exports_external.object({
16991
+ class: exports_external.literal("guidance"),
16992
+ scope: exports_external.enum(["space", "topic"]),
16993
+ sourceId: id,
16994
+ strength: exports_external.literal("recommended"),
16995
+ message: exports_external.string()
16996
+ });
16997
+ var computerOpenAgentBrief = exports_external.object({
16998
+ work: exports_external.object({ threadId: id, title: exports_external.string(), objective: exports_external.string() }),
16999
+ guidance: exports_external.array(computerOpenGuidanceEntry),
17000
+ computer: exports_external.object({
17001
+ repositoryState: exports_external.object({
17002
+ source: exports_external.enum(["durable-snapshot", "workspace"]),
17003
+ remoteFreshness: exports_external.literal("unchecked"),
17004
+ guidance: exports_external.string()
17005
+ })
17006
+ }),
17007
+ activeRuns: exports_external.array(exports_external.object({
17008
+ runId: id,
17009
+ label: exports_external.string().nullable(),
17010
+ mode: exports_external.enum(["read", "write"]),
17011
+ execution: exports_external.enum(["shared", "isolated"]),
17012
+ status: exports_external.enum(["active", "finished", "failed", "cancelled"])
17013
+ }))
17014
+ });
16969
17015
  var codeSymbol = exports_external.looseObject({
16970
17016
  namePath: exports_external.string(),
16971
17017
  kind: exports_external.string(),
@@ -17548,33 +17594,25 @@ var MCP_OUTPUT_SCHEMAS = {
17548
17594
  guidance: exports_external.array(exports_external.string()).optional(),
17549
17595
  contributionLanes: exports_external.array(exports_external.string()).optional()
17550
17596
  }),
17551
- computer_open: exports_external.looseObject({
17552
- computerId: id,
17597
+ computer_open: exports_external.object({
17553
17598
  computerSessionId: id,
17554
- backend: exports_external.enum(["worker-shell", "container"]),
17555
- profile: computerProfile.nullable(),
17556
- startingSnapshot: snapshot.nullable(),
17557
- materialized: checkpoint.nullable(),
17599
+ profile: computerOpenProfile.nullable(),
17558
17600
  workspaceRoot: exports_external.string(),
17559
- repositories: exports_external.array(exports_external.looseObject({ repository: exports_external.string(), path: exports_external.string() })),
17601
+ repositories: exports_external.array(exports_external.object({ repository: exports_external.string(), path: exports_external.string() })),
17560
17602
  defaultCwd: exports_external.string(),
17561
- capabilities: computerCapabilityCard,
17562
- agentBrief: computerAgentBrief,
17563
- runtime: jsonObject,
17564
- reconciliation: exports_external.looseObject({
17603
+ capabilities: computerOpenCapabilities,
17604
+ agentBrief: computerOpenAgentBrief,
17605
+ reconciliation: exports_external.object({
17565
17606
  action: exports_external.literal("automatic_reprovision"),
17566
17607
  reason: exports_external.literal("container_profile_revision"),
17567
17608
  fromContainerProfileRevision: exports_external.number().int().nullable(),
17568
17609
  toContainerProfileRevision: exports_external.number().int().nullable()
17569
17610
  }).optional()
17570
17611
  }),
17571
- computer_run_start: exports_external.looseObject({
17612
+ computer_run_start: exports_external.object({
17572
17613
  runId: id,
17573
17614
  execution: exports_external.enum(["shared", "isolated"]),
17574
- baseSnapshotId: id.nullable(),
17575
- gitStart: computerRunGitStart.nullable().optional(),
17576
- durability: computerRunDurability,
17577
- guidance: exports_external.array(operatingGuidanceEntry),
17615
+ durability: computerRunDurabilitySummary,
17578
17616
  status: exports_external.string()
17579
17617
  }),
17580
17618
  computer_run_finish: exports_external.looseObject({
@@ -17764,21 +17802,14 @@ var MCP_OUTPUT_SCHEMAS = {
17764
17802
  replayed: exports_external.boolean()
17765
17803
  }),
17766
17804
  computer_stop: exports_external.looseObject({ checkpoint, stopped: jsonObject }),
17767
- code_symbols: exports_external.looseObject({
17768
- computerSessionId: id,
17769
- path: exports_external.string(),
17805
+ code_symbols: exports_external.object({
17770
17806
  symbols: exports_external.array(codeSymbol)
17771
17807
  }),
17772
- code_find_symbol: exports_external.looseObject({
17773
- computerSessionId: id,
17774
- namePath: exports_external.string(),
17808
+ code_find_symbol: exports_external.object({
17775
17809
  symbols: exports_external.array(codeSymbol)
17776
17810
  }),
17777
- code_references: exports_external.looseObject({
17778
- computerSessionId: id,
17779
- namePath: exports_external.string(),
17780
- path: exports_external.string(),
17781
- references: exports_external.array(exports_external.looseObject({
17811
+ code_references: exports_external.object({
17812
+ references: exports_external.array(exports_external.object({
17782
17813
  path: exports_external.string(),
17783
17814
  namePath: exports_external.string().optional(),
17784
17815
  startLine: exports_external.number().optional(),
@@ -17786,16 +17817,11 @@ var MCP_OUTPUT_SCHEMAS = {
17786
17817
  })),
17787
17818
  truncated: exports_external.boolean()
17788
17819
  }),
17789
- code_implementations: exports_external.looseObject({
17790
- computerSessionId: id,
17791
- namePath: exports_external.string(),
17792
- path: exports_external.string(),
17820
+ code_implementations: exports_external.object({
17793
17821
  symbols: exports_external.array(codeSymbol)
17794
17822
  }),
17795
- code_diagnostics: exports_external.looseObject({
17796
- computerSessionId: id,
17797
- path: exports_external.string(),
17798
- diagnostics: exports_external.array(exports_external.looseObject({
17823
+ code_diagnostics: exports_external.object({
17824
+ diagnostics: exports_external.array(exports_external.object({
17799
17825
  severity: exports_external.enum(["error", "warning", "information", "hint"]),
17800
17826
  message: exports_external.string(),
17801
17827
  path: exports_external.string(),
@@ -17816,6 +17842,17 @@ function record2(value) {
17816
17842
  function defined(entries) {
17817
17843
  return Object.fromEntries(entries.filter(([, value]) => value !== undefined));
17818
17844
  }
17845
+ function selected(value, fields) {
17846
+ const source = record2(value);
17847
+ if (!source)
17848
+ return;
17849
+ return defined(fields.map((field) => [field, source[field]]));
17850
+ }
17851
+ function selectedArray(value, fields) {
17852
+ if (!Array.isArray(value))
17853
+ return;
17854
+ return value.map((entry) => selected(entry, fields) ?? {});
17855
+ }
17819
17856
  var OUTPUT_SHAPERS = {
17820
17857
  contribute: (result) => defined([
17821
17858
  ["contributionId", result.contributionId],
@@ -17852,15 +17889,94 @@ var OUTPUT_SHAPERS = {
17852
17889
  ["withdrawn", result.withdrawn]
17853
17890
  ]),
17854
17891
  dismiss: (result) => defined([["status", result.status]]),
17892
+ computer_open: (result) => {
17893
+ const profile3 = record2(result.profile);
17894
+ const capabilityCard = record2(result.capabilities);
17895
+ const capabilityEntries = Array.isArray(capabilityCard?.capabilities) ? capabilityCard.capabilities.map((value) => {
17896
+ const capability = record2(value) ?? {};
17897
+ return defined([
17898
+ ["id", capability.id],
17899
+ ["state", capability.state]
17900
+ ]);
17901
+ }) : undefined;
17902
+ const agentBrief = record2(result.agentBrief);
17903
+ const work = record2(agentBrief?.work);
17904
+ const computer2 = record2(agentBrief?.computer);
17905
+ const repositories = selectedArray(result.repositories, ["repository", "path"]);
17906
+ const guidance = selectedArray(agentBrief?.guidance, [
17907
+ "class",
17908
+ "scope",
17909
+ "sourceId",
17910
+ "strength",
17911
+ "message"
17912
+ ]);
17913
+ const repositoryState = selected(computer2?.repositoryState, [
17914
+ "source",
17915
+ "remoteFreshness",
17916
+ "guidance"
17917
+ ]);
17918
+ const activeRuns = selectedArray(agentBrief?.activeRuns, [
17919
+ "runId",
17920
+ "label",
17921
+ "mode",
17922
+ "execution",
17923
+ "status"
17924
+ ]);
17925
+ const reconciliation = selected(result.reconciliation, [
17926
+ "action",
17927
+ "reason",
17928
+ "fromContainerProfileRevision",
17929
+ "toContainerProfileRevision"
17930
+ ]);
17931
+ return defined([
17932
+ ["computerSessionId", result.computerSessionId],
17933
+ [
17934
+ "profile",
17935
+ result.profile === null ? null : profile3 ? defined([
17936
+ ["id", profile3.id],
17937
+ ["version", profile3.version],
17938
+ ["tools", profile3.tools],
17939
+ ["recommendedEditingPrimitive", profile3.recommendedEditingPrimitive]
17940
+ ]) : undefined
17941
+ ],
17942
+ ["workspaceRoot", result.workspaceRoot],
17943
+ ["repositories", repositories],
17944
+ ["defaultCwd", result.defaultCwd],
17945
+ ["capabilities", capabilityEntries ? { capabilities: capabilityEntries } : undefined],
17946
+ [
17947
+ "agentBrief",
17948
+ agentBrief ? defined([
17949
+ [
17950
+ "work",
17951
+ work ? defined([
17952
+ ["threadId", work.threadId],
17953
+ ["title", work.title],
17954
+ ["objective", work.objective]
17955
+ ]) : undefined
17956
+ ],
17957
+ ["guidance", guidance],
17958
+ ["computer", computer2 ? defined([["repositoryState", repositoryState]]) : undefined],
17959
+ ["activeRuns", activeRuns]
17960
+ ]) : undefined
17961
+ ],
17962
+ ["reconciliation", reconciliation]
17963
+ ]);
17964
+ },
17855
17965
  computer_run_start: (result) => {
17856
17966
  const run = record2(result.run) ?? {};
17967
+ const durability = record2(run.durability) ?? {};
17857
17968
  return defined([
17858
17969
  ["runId", run.runId],
17859
17970
  ["execution", run.execution],
17860
- ["baseSnapshotId", run.baseSnapshotId],
17861
- ["gitStart", run.gitStart],
17862
- ["durability", run.durability],
17863
- ["guidance", result.guidance],
17971
+ [
17972
+ "durability",
17973
+ defined([
17974
+ ["workspace", durability.workspace],
17975
+ ["parentMutation", durability.parentMutation],
17976
+ ["finishDestroysExecution", durability.finishDestroysExecution],
17977
+ ["gitPublication", selected(durability.gitPublication, ["state", "reasonCode"])]
17978
+ ])
17979
+ ],
17864
17980
  ["status", run.status]
17865
17981
  ]);
17866
17982
  },
@@ -18450,7 +18566,7 @@ var ACTION_DEFINITIONS = [
18450
18566
  {
18451
18567
  name: "computer_run_start",
18452
18568
  title: "Start a run",
18453
- description: "Start one bounded unit of work inside an opened Thread Computer when you need a read or write Run. Returns runId plus placement, base Git/snapshot state, durability facts, and inherited guidance; write Runs default to isolated unless execution='shared' is chosen.",
18569
+ description: "Start one bounded unit of work inside an opened Thread Computer when you need a read or write Run. Returns runId, placement/status, and compact durability facts; detailed base Git/snapshot state remains inspectable from the Run receipt, and write Runs default to isolated unless execution='shared' is chosen.",
18454
18570
  inputSchema: {
18455
18571
  computerSessionId: exports_external.string().describe("the computerSessionId returned by computer_open, cms_…"),
18456
18572
  mode: exports_external.enum(["read", "write"]).describe("write for mutable work; read for shared inspection"),
@@ -18585,8 +18701,8 @@ var ACTION_DEFINITIONS = [
18585
18701
  title: "Outline a file's symbols",
18586
18702
  description: "READ ONLY: Outline real declarations in a file or directory when you need structure without reading or searching the whole source. Uses the language server to return symbols and kinds, distinguishing declarations from textual matches.",
18587
18703
  inputSchema: {
18588
- computerSessionId: exports_external.string().describe("the computerSessionId returned by computer_open, cms_…"),
18589
- runId: exports_external.string().optional().describe("route this semantic read according to this Run execution placement, run_…"),
18704
+ computerSessionId: exports_external.string().optional().describe("parent Computer target; optional when runId is supplied, otherwise required; if both are supplied they must agree"),
18705
+ runId: exports_external.string().optional().describe("Run target that resolves its owning Computer session, run_…"),
18590
18706
  path: exports_external.string().max(512).describe("file or directory, absolute under /workspace or workspace-relative")
18591
18707
  },
18592
18708
  surfaces: ["computer-mcp", "computer-cli"],
@@ -18598,8 +18714,8 @@ var ACTION_DEFINITIONS = [
18598
18714
  title: "Find a symbol by name path",
18599
18715
  description: "READ ONLY: Locate a declaration by name path when you need the definition rather than text matches. Uses the language server and can include the symbol body and bounded child depth.",
18600
18716
  inputSchema: {
18601
- computerSessionId: exports_external.string().describe("the computerSessionId returned by computer_open, cms_…"),
18602
- runId: exports_external.string().optional().describe("route this semantic read according to this Run execution placement, run_…"),
18717
+ computerSessionId: exports_external.string().optional().describe("parent Computer target; optional when runId is supplied, otherwise required; if both are supplied they must agree"),
18718
+ runId: exports_external.string().optional().describe("Run target that resolves its owning Computer session, run_…"),
18603
18719
  namePath: exports_external.string().min(1).max(200).describe("symbol name path within a file, e.g. MyClass/myMethod"),
18604
18720
  path: exports_external.string().max(512).optional().describe("optional file or directory to restrict the search to"),
18605
18721
  includeBody: exports_external.boolean().optional().describe("include each symbol's source body"),
@@ -18614,8 +18730,8 @@ var ACTION_DEFINITIONS = [
18614
18730
  title: "Find what references a symbol",
18615
18731
  description: "READ ONLY: Find semantic references to a declaration when you need to know what actually depends on it before a change. Uses the language server to return resolved references with snippets, excluding unrelated textual matches.",
18616
18732
  inputSchema: {
18617
- computerSessionId: exports_external.string().describe("the computerSessionId returned by computer_open, cms_…"),
18618
- runId: exports_external.string().optional().describe("route this semantic read according to this Run execution placement, run_…"),
18733
+ computerSessionId: exports_external.string().optional().describe("parent Computer target; optional when runId is supplied, otherwise required; if both are supplied they must agree"),
18734
+ runId: exports_external.string().optional().describe("Run target that resolves its owning Computer session, run_…"),
18619
18735
  namePath: exports_external.string().min(1).max(200).describe("name path of the symbol to trace"),
18620
18736
  path: exports_external.string().max(512).describe("the file declaring that symbol, absolute under /workspace or workspace-relative")
18621
18737
  },
@@ -18628,8 +18744,8 @@ var ACTION_DEFINITIONS = [
18628
18744
  title: "Find implementations of a symbol",
18629
18745
  description: "READ ONLY: Find concrete implementations or subtypes of an interface, abstract type, or method. Uses the language server to resolve type relationships that text search cannot follow.",
18630
18746
  inputSchema: {
18631
- computerSessionId: exports_external.string().describe("the computerSessionId returned by computer_open, cms_…"),
18632
- runId: exports_external.string().optional().describe("route this semantic read according to this Run execution placement, run_…"),
18747
+ computerSessionId: exports_external.string().optional().describe("parent Computer target; optional when runId is supplied, otherwise required; if both are supplied they must agree"),
18748
+ runId: exports_external.string().optional().describe("Run target that resolves its owning Computer session, run_…"),
18633
18749
  namePath: exports_external.string().min(1).max(200).describe("name path of the interface, type, or method"),
18634
18750
  path: exports_external.string().max(512).describe("the file declaring that symbol, absolute under /workspace or workspace-relative")
18635
18751
  },
@@ -18642,8 +18758,8 @@ var ACTION_DEFINITIONS = [
18642
18758
  title: "Read language-server diagnostics for a file",
18643
18759
  description: "READ ONLY: Check live language-server errors and warnings for one file, especially after an edit. Returns diagnostics mapped to symbols for fast local feedback; it does not replace a whole-project build or typecheck.",
18644
18760
  inputSchema: {
18645
- computerSessionId: exports_external.string().describe("the computerSessionId returned by computer_open, cms_…"),
18646
- runId: exports_external.string().optional().describe("route this semantic read according to this Run execution placement, run_…"),
18761
+ computerSessionId: exports_external.string().optional().describe("parent Computer target; optional when runId is supplied, otherwise required; if both are supplied they must agree"),
18762
+ runId: exports_external.string().optional().describe("Run target that resolves its owning Computer session, run_…"),
18647
18763
  path: exports_external.string().max(512).describe("the file to inspect, absolute under /workspace or workspace-relative")
18648
18764
  },
18649
18765
  surfaces: ["computer-mcp", "computer-cli"],
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lambdacurry/arbor",
3
- "version": "0.20.15",
3
+ "version": "0.20.17",
4
4
  "description": "The Arbor CLI — a shared workspace for people and agents. The human + headless-agent write path over Arbor's guarded operation surface.",
5
5
  "keywords": [
6
6
  "agents",