nylorun 0.16.0-beta → 0.18.0-beta

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 (44) hide show
  1. package/CHANGELOG.md +70 -0
  2. package/README.md +118 -70
  3. package/dist/cli.js +39 -14
  4. package/dist/client/agent-manifests.d.ts +4 -0
  5. package/dist/client/agent-manifests.js +100 -0
  6. package/dist/client/agents.d.ts +2 -4
  7. package/dist/client/agents.js +467 -117
  8. package/dist/client/apply.d.ts +7 -0
  9. package/dist/client/apply.js +99 -0
  10. package/dist/client/artifacts.js +3 -3
  11. package/dist/client/doctor.d.ts +1 -1
  12. package/dist/client/doctor.js +2 -2
  13. package/dist/client/io.d.ts +2 -0
  14. package/dist/client/io.js +11 -0
  15. package/dist/client/mcp.d.ts +5 -3
  16. package/dist/client/mcp.js +30 -23
  17. package/dist/client/migrate.d.ts +4 -0
  18. package/dist/client/migrate.js +140 -0
  19. package/dist/client/model/pi-ai.d.ts +1 -1
  20. package/dist/client/model/pi-ai.js +1 -1
  21. package/dist/client/models.d.ts +5 -2
  22. package/dist/client/models.js +17 -7
  23. package/dist/client/runtime.d.ts +1 -1
  24. package/dist/client/runtime.js +8 -6
  25. package/dist/client/sessions.js +30 -19
  26. package/dist/client/settings.d.ts +4 -4
  27. package/dist/client/settings.js +21 -20
  28. package/dist/client/signing-keys.js +3 -1
  29. package/dist/client/tenant.d.ts +1 -1
  30. package/dist/client/tenant.js +12 -7
  31. package/dist/command.d.ts +1 -1
  32. package/dist/command.js +6 -2
  33. package/dist/errors.d.ts +6 -0
  34. package/dist/errors.js +9 -0
  35. package/dist/nylo.js +4 -4
  36. package/dist/stack/commands.d.ts +11 -0
  37. package/dist/stack/commands.js +24 -1
  38. package/dist/stack/compose-file.js +5 -3
  39. package/dist/telemetry.js +3 -1
  40. package/package.json +9 -9
  41. package/dist/client/environment-manifests.d.ts +0 -10
  42. package/dist/client/environment-manifests.js +0 -173
  43. package/dist/client/environments.d.ts +0 -4
  44. package/dist/client/environments.js +0 -295
@@ -0,0 +1,100 @@
1
+ import { parseAgentManifestRef } from "@nylorun/core/contracts";
2
+ import { parseFlags, positional, printJson, printTable, runtimeCall, runtimeClient, runtimeFlagsUsage, usageError, } from "./runtime.js";
3
+ export const agentManifestsUsage = `nylorun agent-manifests <command>
4
+
5
+ The Tenant's agent manifests, through the Runtime API with an application key (or
6
+ NYLORUN_TOKEN). Save one with nylorun apply <dir>.
7
+
8
+ list [--json] each manifest's latest version: its runtime kind, harness
9
+ and the Agents made from it
10
+ get <name>[@<n>] a manifest's latest version (or version n), as JSON
11
+ versions <name> its versions, with the Agents made from each
12
+ rm <name> delete every version (refused while an Agent was made
13
+ from one)
14
+
15
+ ${runtimeFlagsUsage}`;
16
+ /** The harness that runs a manifest's loop, as the list prints it. */
17
+ function harnessOf(view) {
18
+ const { harness } = view.manifest;
19
+ const id = harness.id ?? "nylorun";
20
+ return "kind" in harness && harness.kind === "workflow" ? `${id} (flow)` : id;
21
+ }
22
+ async function list(deps, args) {
23
+ const usage = "nylorun agent-manifests list [--json]";
24
+ const flags = parseFlags(args, { booleans: ["--json"] }, usage);
25
+ positional(flags, 0, usage);
26
+ const { client, connection } = await runtimeClient(deps, flags);
27
+ const manifests = await runtimeCall(() => client.agentManifests.list());
28
+ if (flags.booleans.has("--json")) {
29
+ printJson(deps, manifests);
30
+ return 0;
31
+ }
32
+ if (manifests.length === 0)
33
+ deps.out(`No agent manifests on ${connection.label}. Save one with nylorun apply <dir>.`);
34
+ else
35
+ printTable(deps, [
36
+ ["NAME", "VERSION", "KIND", "HARNESS", "AGENTS"],
37
+ ...manifests.map((view) => [
38
+ view.name,
39
+ String(view.version),
40
+ view.manifest.runtime?.kind ?? "none",
41
+ harnessOf(view),
42
+ String(view.agents),
43
+ ]),
44
+ ]);
45
+ return 0;
46
+ }
47
+ async function get(deps, args) {
48
+ const usage = "nylorun agent-manifests get <name>[@<n>]";
49
+ const flags = parseFlags(args, {}, usage);
50
+ const [ref] = positional(flags, 1, usage);
51
+ const parsed = parseAgentManifestRef(ref);
52
+ if (!parsed)
53
+ throw usageError(`${ref} is not an agent manifest's name, or name@version such as triage@3.`);
54
+ const { client } = await runtimeClient(deps, flags);
55
+ printJson(deps, await runtimeCall(() => client.agentManifests.get(parsed.name, parsed.version)));
56
+ return 0;
57
+ }
58
+ async function versions(deps, args) {
59
+ const usage = "nylorun agent-manifests versions <name>";
60
+ const flags = parseFlags(args, {}, usage);
61
+ const [name] = positional(flags, 1, usage);
62
+ const { client } = await runtimeClient(deps, flags);
63
+ printJson(deps, await runtimeCall(() => client.agentManifests.versions(name)));
64
+ return 0;
65
+ }
66
+ async function remove(deps, args) {
67
+ const usage = "nylorun agent-manifests rm <name>";
68
+ const flags = parseFlags(args, {}, usage);
69
+ const [name] = positional(flags, 1, usage);
70
+ const { client, connection } = await runtimeClient(deps, flags);
71
+ const deleted = await runtimeCall(() => client.agentManifests.delete(name));
72
+ if (!deleted.deleted) {
73
+ deps.err(`No agent manifest ${name} on ${connection.label}.`);
74
+ return 1;
75
+ }
76
+ deps.out(`Deleted agent manifest ${name}: every version.`);
77
+ return 0;
78
+ }
79
+ const COMMANDS = {
80
+ list,
81
+ ls: list,
82
+ get,
83
+ versions,
84
+ rm: remove,
85
+ delete: remove,
86
+ };
87
+ /** `nylorun agent-manifests <command> ...` */
88
+ export async function agentManifestsCommand(deps, args) {
89
+ const [sub, ...rest] = args;
90
+ if (sub === "--help" || sub === "-h") {
91
+ deps.out(agentManifestsUsage);
92
+ return 0;
93
+ }
94
+ if (sub === "save")
95
+ throw usageError("Save an agent manifest with nylorun apply <dir>: it composes agent.manifest.json and the files it names.");
96
+ const command = sub !== undefined && Object.hasOwn(COMMANDS, sub) ? COMMANDS[sub] : undefined;
97
+ if (!command)
98
+ throw usageError(sub ? `Unknown agent-manifests command ${sub}.\n${agentManifestsUsage}` : agentManifestsUsage);
99
+ return command(deps, rest);
100
+ }
@@ -1,6 +1,4 @@
1
- import type { StackDeps } from "../stack/commands.js";
1
+ import { type StackDeps } from "../stack/commands.js";
2
2
  export declare const agentsUsage: string;
3
- /** Every `sha256:<hex>` a manifest names under a `files` map, with where it names it. */
4
- export declare function namedFiles(manifest: unknown): Map<string, string>;
5
- /** `nylorun agents <list|get|save> ...` */
3
+ /** `nylorun agents <command> ...` */
6
4
  export declare function agentsCommand(deps: StackDeps, args: readonly string[]): Promise<number>;