@agentorg/cli 0.0.6 → 0.0.7

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 (108) hide show
  1. package/README.md +10 -7
  2. package/dist/node_modules/@agentorg/computer/LICENSE +201 -0
  3. package/dist/node_modules/@agentorg/computer/NOTICE +2 -0
  4. package/dist/node_modules/@agentorg/computer/dist/THIRD_PARTY_LICENSES.txt +1321 -0
  5. package/dist/node_modules/@agentorg/computer/dist/sdk.js +24909 -0
  6. package/dist/node_modules/@agentorg/computer/dist/types/generated/schema.d.ts +860 -0
  7. package/dist/node_modules/@agentorg/computer/dist/types/sdk.d.ts +242 -0
  8. package/dist/node_modules/@agentorg/computer/package.json +12 -0
  9. package/dist/node_modules/@agentorg/computer-connector/dist/src/index.d.ts +1 -0
  10. package/dist/node_modules/@agentorg/computer-connector/dist/src/index.js +1 -0
  11. package/dist/node_modules/@agentorg/computer-connector/dist/src/provider.d.ts +24 -0
  12. package/dist/node_modules/@agentorg/computer-connector/dist/src/provider.js +482 -0
  13. package/dist/node_modules/@agentorg/computer-connector/dist/src/unit.d.ts +19 -0
  14. package/dist/node_modules/@agentorg/computer-connector/dist/src/unit.js +149 -0
  15. package/dist/node_modules/@agentorg/computer-connector/package.json +33 -0
  16. package/dist/node_modules/@agentorg/computer-connector/skills/browser/SKILL.md +31 -0
  17. package/dist/node_modules/@agentorg/computer-connector/skills/computer/SKILL.md +30 -0
  18. package/dist/node_modules/@agentorg/computer-connector/skills/files/SKILL.md +28 -0
  19. package/dist/node_modules/@agentorg/computer-connector/skills/terminal/SKILL.md +39 -0
  20. package/dist/node_modules/@agentorg/computer-connector/skills/web-research/SKILL.md +29 -0
  21. package/dist/node_modules/@agentorg/hub/dist/src/router.d.ts +4 -2
  22. package/dist/node_modules/@agentorg/hub/dist/src/router.js +3 -1
  23. package/dist/node_modules/@agentorg/hub/dist/src/validate.js +16 -2
  24. package/dist/node_modules/@agentorg/interfaces/dist/src/agent-provider.d.ts +34 -47
  25. package/dist/node_modules/@agentorg/interfaces/dist/src/agent-provider.js +25 -34
  26. package/dist/node_modules/@agentorg/interfaces/dist/src/chat.d.ts +90 -50
  27. package/dist/node_modules/@agentorg/interfaces/dist/src/chat.js +69 -34
  28. package/dist/node_modules/@agentorg/interfaces/dist/src/connection.d.ts +36 -0
  29. package/dist/node_modules/@agentorg/interfaces/dist/src/connection.js +31 -0
  30. package/dist/node_modules/@agentorg/interfaces/dist/src/folders.d.ts +19 -0
  31. package/dist/node_modules/@agentorg/interfaces/dist/src/folders.js +25 -0
  32. package/dist/node_modules/@agentorg/interfaces/dist/src/index.d.ts +6 -4
  33. package/dist/node_modules/@agentorg/interfaces/dist/src/index.js +6 -4
  34. package/dist/node_modules/@agentorg/interfaces/dist/src/llm-session.d.ts +2 -0
  35. package/dist/node_modules/@agentorg/interfaces/dist/src/llm-session.js +2 -1
  36. package/dist/node_modules/@agentorg/interfaces/dist/src/manager.d.ts +381 -27
  37. package/dist/node_modules/@agentorg/interfaces/dist/src/manager.js +179 -15
  38. package/dist/node_modules/@agentorg/interfaces/dist/src/units.d.ts +460 -0
  39. package/dist/node_modules/@agentorg/interfaces/dist/src/units.js +204 -0
  40. package/dist/node_modules/@agentorg/looper/dist/src/index.d.ts +5 -0
  41. package/dist/node_modules/@agentorg/looper/dist/src/index.js +5 -0
  42. package/dist/node_modules/@agentorg/looper/dist/src/loop.d.ts +75 -0
  43. package/dist/node_modules/@agentorg/looper/dist/src/loop.js +332 -0
  44. package/dist/node_modules/@agentorg/looper/dist/src/looper.d.ts +71 -0
  45. package/dist/node_modules/@agentorg/looper/dist/src/looper.js +282 -0
  46. package/dist/node_modules/@agentorg/looper/dist/src/record.d.ts +99 -0
  47. package/dist/node_modules/{assistant/dist/src/history.js → @agentorg/looper/dist/src/record.js} +89 -46
  48. package/dist/node_modules/@agentorg/looper/dist/src/tools.d.ts +11 -0
  49. package/dist/node_modules/@agentorg/looper/dist/src/tools.js +42 -0
  50. package/dist/node_modules/@agentorg/looper/dist/src/types.d.ts +147 -0
  51. package/dist/node_modules/@agentorg/looper/dist/src/types.js +32 -0
  52. package/dist/node_modules/@agentorg/looper/package.json +24 -0
  53. package/dist/node_modules/@agentorg/manager/dist/src/activity.d.ts +18 -0
  54. package/dist/node_modules/@agentorg/manager/dist/src/activity.js +65 -0
  55. package/dist/node_modules/@agentorg/manager/dist/src/control.d.ts +134 -0
  56. package/dist/node_modules/@agentorg/manager/dist/src/control.js +1115 -0
  57. package/dist/node_modules/@agentorg/manager/dist/src/form.d.ts +40 -0
  58. package/dist/node_modules/@agentorg/manager/dist/src/form.js +191 -0
  59. package/dist/node_modules/@agentorg/manager/dist/src/manager.d.ts +4 -0
  60. package/dist/node_modules/@agentorg/manager/dist/src/manager.js +341 -189
  61. package/dist/node_modules/@agentorg/manager/dist/src/skills.d.ts +2 -0
  62. package/dist/node_modules/@agentorg/manager/dist/src/skills.js +7 -0
  63. package/dist/node_modules/@agentorg/manager/dist/src/stack.d.ts +454 -0
  64. package/dist/node_modules/@agentorg/manager/dist/src/stack.js +917 -0
  65. package/dist/node_modules/@agentorg/mcp/dist/src/connection.d.ts +2 -1
  66. package/dist/node_modules/@agentorg/mcp/dist/src/connection.js +8 -2
  67. package/dist/node_modules/@agentorg/mcp/dist/src/index.d.ts +3 -0
  68. package/dist/node_modules/@agentorg/mcp/dist/src/index.js +3 -0
  69. package/dist/node_modules/@agentorg/mcp/dist/src/kinds.d.ts +108 -0
  70. package/dist/node_modules/@agentorg/mcp/dist/src/kinds.js +95 -0
  71. package/dist/node_modules/@agentorg/mcp/dist/src/provider.d.ts +2 -2
  72. package/dist/node_modules/@agentorg/mcp/dist/src/provider.js +48 -18
  73. package/dist/node_modules/@agentorg/mcp/dist/src/public.d.ts +6 -0
  74. package/dist/node_modules/@agentorg/mcp/dist/src/public.js +72 -0
  75. package/dist/node_modules/@agentorg/sdk/dist/src/filled.d.ts +21 -0
  76. package/dist/node_modules/@agentorg/sdk/dist/src/filled.js +24 -0
  77. package/dist/node_modules/@agentorg/sdk/dist/src/index.d.ts +1 -0
  78. package/dist/node_modules/@agentorg/sdk/dist/src/index.js +1 -0
  79. package/dist/node_modules/@agentorg/shell/dist/app.css +1289 -100
  80. package/dist/node_modules/@agentorg/shell/dist/app.js +207 -166
  81. package/dist/node_modules/@agentorg/shell/package.json +6 -1
  82. package/dist/node_modules/assistant/dist/src/chats.d.ts +92 -0
  83. package/dist/node_modules/assistant/dist/src/chats.js +357 -0
  84. package/dist/node_modules/assistant/dist/src/engine.d.ts +26 -7
  85. package/dist/node_modules/assistant/dist/src/engine.js +107 -35
  86. package/dist/node_modules/assistant/dist/src/local-store.js +1 -1
  87. package/dist/node_modules/assistant/dist/src/provider.d.ts +1 -1
  88. package/dist/node_modules/assistant/dist/src/provider.js +47 -19
  89. package/dist/node_modules/assistant/dist/src/tools.d.ts +11 -28
  90. package/dist/node_modules/assistant/dist/src/tools.js +19 -40
  91. package/dist/node_modules/assistant/package.json +1 -0
  92. package/dist/src/api.js +4 -0
  93. package/dist/src/folders.d.ts +2 -0
  94. package/dist/src/folders.js +45 -0
  95. package/dist/src/gateway.d.ts +7 -1
  96. package/dist/src/gateway.js +81 -12
  97. package/dist/src/live.d.ts +17 -0
  98. package/dist/src/live.js +109 -0
  99. package/dist/src/programs.d.ts +7 -0
  100. package/dist/src/programs.js +29 -2
  101. package/dist/src/signin.d.ts +12 -3
  102. package/dist/src/signin.js +30 -6
  103. package/package.json +2 -1
  104. package/dist/node_modules/@agentorg/interfaces/dist/src/mcp-provider.d.ts +0 -88
  105. package/dist/node_modules/@agentorg/interfaces/dist/src/mcp-provider.js +0 -78
  106. package/dist/node_modules/assistant/dist/src/agent.d.ts +0 -62
  107. package/dist/node_modules/assistant/dist/src/agent.js +0 -226
  108. package/dist/node_modules/assistant/dist/src/history.d.ts +0 -97
@@ -1,14 +1,93 @@
1
1
  import { defineInterface, method } from "@agentorg/sdk";
2
2
  import { z } from "zod";
3
- import { AgentStatus, Answers, Creatable, CreatableId } from "./agent-provider.js";
3
+ import { AgentModels, AgentStatus, Answers, Creatable, CreatableId } from "./agent-provider.js";
4
4
  import { SKILL_FILE_MAX, SkillEntry, SkillName, SkillPath } from "./agent-settings.js";
5
+ import { ConnectionKind, ConnectionParams, ConnectionSecrets, ConnectionState, ConnectionStatus, ConnectionTarget, } from "./connection.js";
5
6
  import { Id, SlotName } from "./hub.js";
6
- import { ConnectionKind, ConnectionParams, ConnectionSecrets, ConnectionState, ConnectionStatus, ConnectionTarget, } from "./mcp-provider.js";
7
+ import { ModelId } from "./llm-session.js";
8
+ import { FieldValues, LiveMode, LiveSurface, LiveTicket, Problem, ResultKind, Unit, UnitId, } from "./units.js";
7
9
  const Time = z.string().max(64);
8
10
  const ActorName = z.string().min(1).max(128);
9
11
  const OnAgent = z.object({ agent: Id });
10
12
  const OnConnection = z.object({ connection: Id });
11
13
  const OnSkill = z.object({ name: SkillName });
14
+ const Purpose = z.string().max(2000);
15
+ /** A template's id. */
16
+ export const TemplateId = z
17
+ .string()
18
+ .regex(/^[a-z][a-z0-9-]*$/)
19
+ .max(64);
20
+ /** What a stack starts on: one base from an agent provider, with what it asks. */
21
+ export const StackBase = z.strictObject({
22
+ provider: Id,
23
+ creatable: CreatableId,
24
+ answers: Answers.optional(),
25
+ });
26
+ /**
27
+ * One unit of a stack, top to bottom. `needs` picks, by kind, which earlier unit (its position in
28
+ * `units`) gives what this one needs; a kind exactly one earlier unit gives needs no pick.
29
+ */
30
+ export const StackUnit = z.strictObject({
31
+ provider: Id,
32
+ unit: UnitId,
33
+ values: FieldValues.optional(),
34
+ needs: z.record(ResultKind, z.number().int().min(0)).optional(),
35
+ });
36
+ /** A stack as it is created: each unit may also carry secrets, used once and never saved. */
37
+ const FilledUnit = StackUnit.extend({ secrets: ConnectionSecrets.optional() });
38
+ /** `template` notes the template it started from, for display only. */
39
+ export const Stack = z.strictObject({
40
+ base: StackBase,
41
+ units: z.array(FilledUnit).max(64),
42
+ template: TemplateId.optional(),
43
+ });
44
+ /** A provider in a template: by its Actor's name, so a template works on another home. */
45
+ const ProviderName = z.string().min(1).max(128);
46
+ /**
47
+ * A saved stack of prefills: nothing in it is locked, and no secret is in it; management refuses a
48
+ * value for a secret field. A required field with no value must still be filled at creation.
49
+ * `from` notes the template it was copied from, for display only: later changes to that one don't
50
+ * reach this one.
51
+ */
52
+ export const Template = z.strictObject({
53
+ id: TemplateId,
54
+ title: z.string().min(1).max(128),
55
+ description: z.string().max(2000),
56
+ from: TemplateId.optional(),
57
+ base: StackBase.extend({ provider: ProviderName }),
58
+ units: z.array(StackUnit.extend({ provider: ProviderName })).max(64),
59
+ });
60
+ /** What is filled in for one unit of a template, by its position: prefills it replaces, and secrets. */
61
+ const Fill = z.strictObject({
62
+ values: FieldValues.optional(),
63
+ secrets: ConnectionSecrets.optional(),
64
+ });
65
+ /** A unit to add to a living agent: `needs` names, by kind, the instance to take each result from. */
66
+ const AddUnit = {
67
+ agent: Id,
68
+ unit: FilledUnit.omit({ needs: true }),
69
+ needs: z.record(ResultKind, Id).optional(),
70
+ };
71
+ /** A problem with a stack: on one unit (its position), or, with neither, on the whole. */
72
+ const StackProblem = Problem.extend({ unit: z.number().int().min(0).optional() });
73
+ /**
74
+ * One unit as an agent has it: what was filled in, never a secret. `instance` is management's own
75
+ * id for it, and `needs` names, by kind, the instance it took each result from.
76
+ */
77
+ const AppliedUnit = z.object({
78
+ instance: Id,
79
+ provider: Id,
80
+ unit: UnitId,
81
+ title: z.string().min(1).max(128),
82
+ values: FieldValues,
83
+ needs: z.record(ResultKind, Id),
84
+ status: z.object({
85
+ state: ConnectionState,
86
+ detail: z.string().max(2000).optional(),
87
+ /** What of it can be opened live, through `agents.live`. */
88
+ surfaces: z.array(LiveSurface).max(16).optional(),
89
+ }),
90
+ });
12
91
  /** Where a connection came from, written once when it was made. */
13
92
  export const ConnectionOrigin = z.object({
14
93
  provider: Id,
@@ -20,6 +99,20 @@ export const ConnectionOrigin = z.object({
20
99
  madeFor: Id.optional(),
21
100
  at: Time,
22
101
  });
102
+ /** One call an agent made through its control unit that changed something, or was refused. */
103
+ const ActivityEntry = z.object({
104
+ /** Its place in the log, newest highest. */
105
+ seq: z.number().int().min(0),
106
+ at: Time,
107
+ /** The agent that called. */
108
+ caller: Id,
109
+ tool: z.string().min(1).max(128),
110
+ /** What it was about: an agent, a connection, a skill or a unit's instance. */
111
+ target: z.string().max(256).optional(),
112
+ outcome: z.enum(["done", "refused"]),
113
+ /** Why it was refused. Never a message an agent sent, or a secret. */
114
+ reason: z.string().max(2000).optional(),
115
+ });
23
116
  /** An agent as the list shows it: its status is its provider's. */
24
117
  const AgentEntry = z.object({
25
118
  agent: Id,
@@ -27,6 +120,12 @@ const AgentEntry = z.object({
27
120
  status: AgentStatus,
28
121
  provider: Id,
29
122
  creatable: CreatableId,
123
+ /** What it's for, as whoever made it said. */
124
+ purpose: Purpose.optional(),
125
+ /** The template it started from, for display only. */
126
+ template: TemplateId.optional(),
127
+ /** The agent that made it; `gone` once that agent has been removed. It is the person's either way. */
128
+ parent: z.object({ agent: Id, name: ActorName, gone: z.literal(true).optional() }).optional(),
30
129
  });
31
130
  /**
32
131
  * `agents@1`: the agents the person has, each made from a creatable a connected agent provider
@@ -47,19 +146,43 @@ export const agents = defineInterface({
47
146
  input: z.object({}),
48
147
  output: z.object({ providers: z.array(z.object({ provider: Id, name: ActorName })) }),
49
148
  }),
149
+ /** Every base and unit the connected providers offer, each naming its provider. */
150
+ units: method({
151
+ input: z.object({}),
152
+ output: z.object({
153
+ bases: z.array(Creatable.extend({ provider: Id, providerName: ActorName })),
154
+ units: z.array(Unit.extend({ provider: Id, providerName: ActorName })),
155
+ }),
156
+ }),
157
+ /** The templates: what the app ships and what the person saved. */
158
+ templates: method({
159
+ input: z.object({}),
160
+ output: z.object({ templates: z.array(Template) }),
161
+ }),
162
+ /** Save a template, replacing the one of its id. A saved template holds no secret. */
163
+ saveTemplate: method({ input: Template, output: z.object({}) }),
164
+ removeTemplate: method({ input: z.object({ id: TemplateId }), output: z.object({}) }),
165
+ /** Check a stack, or a unit to add to a living agent, before anything runs. It changes nothing. */
166
+ check: method({
167
+ input: z.union([z.strictObject({ stack: Stack }), z.strictObject(AddUnit)]),
168
+ output: z.object({ problems: z.array(StackProblem).max(256) }),
169
+ }),
50
170
  /**
51
- * Make an agent of a creatable, with what it asks and a connection for each of its `pick`
52
- * needs, by slot. All or none: if any step fails, what this creation made is removed. A skill
53
- * it comes with whose name is already here keeps the one here.
171
+ * Make an agent, from a stack, or from a template with what is filled in for each of its units
172
+ * by position; nothing in a template is locked, so a caller changing more sends the stack. All
173
+ * or none: if any step fails, what this creation made is removed, last first.
54
174
  */
55
175
  create: method({
56
- input: z.object({
57
- provider: Id,
58
- creatable: CreatableId,
59
- name: ActorName,
60
- answers: Answers,
61
- connections: z.record(SlotName, Id).optional(),
62
- }),
176
+ input: z.union([
177
+ z.strictObject({ stack: Stack, name: ActorName, purpose: Purpose.optional() }),
178
+ z.strictObject({
179
+ template: TemplateId,
180
+ fill: z.array(Fill).max(64).optional(),
181
+ answers: Answers.optional(),
182
+ name: ActorName,
183
+ purpose: Purpose.optional(),
184
+ }),
185
+ ]),
63
186
  output: OnAgent,
64
187
  }),
65
188
  list: method({ input: z.object({}), output: z.object({ agents: z.array(AgentEntry) }) }),
@@ -68,18 +191,35 @@ export const agents = defineInterface({
68
191
  input: OnAgent,
69
192
  output: AgentEntry.extend({
70
193
  instructions: z.string().max(200_000),
71
- skills: z.array(SkillEntry),
194
+ /** Which unit gave each is its `instance`. */
195
+ skills: z.array(SkillEntry.extend({ instance: Id.optional() })),
72
196
  mcp: z.array(z.object({
73
197
  slot: SlotName,
74
198
  connection: Id,
75
199
  origin: ConnectionOrigin.optional(),
76
200
  status: ConnectionStatus,
201
+ instance: Id.optional(),
77
202
  })),
203
+ /** Its stack, top to bottom. */
204
+ units: z.array(AppliedUnit),
78
205
  }),
79
206
  }),
80
207
  start: method({ input: OnAgent, output: z.object({}) }),
81
- /** Ends the agent's process, and a turn in progress with it; all else about it stays. */
208
+ /**
209
+ * Stops the agent: whatever it was doing ends, and it does nothing until started; all else
210
+ * stays. This is the one way to stop an agent's work.
211
+ */
82
212
  stop: method({ input: OnAgent, output: z.object({}) }),
213
+ /** The models the agent can use, and the one chosen, as its provider says. */
214
+ models: method({ input: OnAgent, output: AgentModels }),
215
+ /**
216
+ * Choose the model for the agent's next requests; with no `model`, go back to its provider's
217
+ * default. Refused `unknown` when the model isn't one of `models`.
218
+ */
219
+ setModel: method({
220
+ input: OnAgent.extend({ model: ModelId.optional() }),
221
+ output: z.object({}),
222
+ }),
83
223
  /** Expose a skill or a connection to the agent; `as` names a connection's slot. */
84
224
  expose: method({
85
225
  input: z.union([
@@ -95,7 +235,31 @@ export const agents = defineInterface({
95
235
  ]),
96
236
  output: z.object({}),
97
237
  }),
98
- /** Final: removes the agent and the connections made for it. */
238
+ /** Add a unit to a living agent, below those it has; it takes effect at the next request. */
239
+ addUnit: method({ input: z.strictObject(AddUnit), output: z.object({ instance: Id }) }),
240
+ /** Remove a unit from a living agent: what it made goes. Refused `state` while another needs it. */
241
+ removeUnit: method({ input: z.object({ agent: Id, instance: Id }), output: z.object({}) }),
242
+ /**
243
+ * What agents did through their control units, newest first: each call that changed something,
244
+ * and each refusal. With `agent`, those it made or that were about it.
245
+ */
246
+ activity: method({
247
+ input: z.object({
248
+ agent: Id.optional(),
249
+ before: z.number().int().min(0).optional(),
250
+ limit: z.number().int().min(1).max(200).optional(),
251
+ }),
252
+ output: z.object({ entries: z.array(ActivityEntry), more: z.boolean() }),
253
+ }),
254
+ /**
255
+ * A one-time ticket to open one of a unit's surfaces live. For the person's gateway, which dials
256
+ * it and pipes the bytes to a page; it never reaches a page itself. No agent can ask for one.
257
+ */
258
+ live: method({
259
+ input: z.object({ agent: Id, instance: Id, surface: UnitId, mode: LiveMode }),
260
+ output: LiveTicket,
261
+ }),
262
+ /** Final: removes the units, last first, then the agent, and the connections made for it. */
99
263
  remove: method({ input: OnAgent, output: z.object({}) }),
100
264
  },
101
265
  });