eve-hub 0.6.1 → 0.6.3

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/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # eve-hub
2
2
 
3
+ ## 0.6.3
4
+
5
+ ### Patch Changes
6
+
7
+ - A hosted bot's execution-context prompt says memory is built into each deployment: an entry takes effect when the deployment that contains it is live, not on the next turn, and with no repository it cannot last. Hosted main's page says how to add one (commit the file to the workspace repo, or write nothing and tell the human to link one). The "Changing it" line says `git` and `gh` are already signed in and sign as the owner, and not to set an author, only when the build has a `GITHUB_TOKEN`; otherwise it says the shell cannot push.
8
+
9
+ ## 0.6.2
10
+
11
+ ### Patch Changes
12
+
13
+ - A hub release no longer upgrades workspaces in its own deploy. When Vercel reports the new hub live, each workspace whose deployed eve-hub differs from the hub's upgrades on its own: a repo-linked workspace gets one pin commit that its Git deploy builds, any other gets the file upload. The workspace's update state is read from its bots project's deployments.
14
+
3
15
  ## 0.6.1
4
16
 
5
17
  ### Patch Changes
@@ -33,6 +33,7 @@ export function deploymentFacts(env = process.env) {
33
33
  repo,
34
34
  branch: env.VERCEL_GIT_COMMIT_REF,
35
35
  sha: env.VERCEL_GIT_COMMIT_SHA,
36
+ githubToken: Boolean(env.GITHUB_TOKEN),
36
37
  };
37
38
  }
38
39
 
@@ -57,8 +58,9 @@ export function hostedContext({ bot, roster, kit, removed, deployment: d }, opti
57
58
  ].filter(Boolean).join(", ") || "no Vercel facts were available to this build"}. Each bot is its own service at \`/eve/<name>\` in that one project.`,
58
59
  `- **Source:** ${d.repo ? `built from \`${d.repo}\`${d.branch ? ` on \`${d.branch}\`` : ""}${d.sha ? ` at commit \`${d.sha}\`` : ""}` : "no git repository: the hub uploaded these files"}. You are made of files in it: \`agents/${bot}/\`, \`memory/\` and \`hub.workspace.json\`.`,
59
60
  d.repo
60
- ? "- **Changing it:** commit to that repository; Vercel builds and deploys the commit."
61
+ ? `- **Changing it:** commit to that repository; Vercel builds and deploys the commit. ${d.githubToken ? "`git` and `gh` in your shell are already signed in and set to sign commits as the owner; do not set your own author or identity, or GitHub rejects the push." : "No GitHub credential is set up in your shell, so you cannot push."}`
61
62
  : "- **Changing it:** there is no repository to commit to. The hub replaces these files on its next deploy, so an edit made only in this deployment does not last.",
63
+ "- **Memory:** the standing decisions you recall are the `memory/` and `agents/<bot>/memory/` files, built into each deployment. An entry takes effect when the deployment that contains it is live, not on your next turn; with no repository it cannot last.",
62
64
  "- **Limits:** there is no `hub` CLI, you cannot restart yourself or any bot, and there are no host paths: your shell is a Vercel Sandbox with its own filesystem, not the owner's machine.",
63
65
  `- **Kit tools this build removed:** ${removed.length ? list(removed) : "none"}. They need the hub's machine, or change the roster, which a deployment does by commit.`,
64
66
  `- **Logs:** ${dashboard ? `[runtime logs](${dashboard}/logs)${d.deployment ? ` and [this deployment](${dashboard}/${d.deployment.replace(/^dpl_/, "")})` : ""} in the Vercel dashboard` : "the Vercel project's runtime logs in the dashboard"}.`,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "eve-hub",
3
- "version": "0.6.1",
3
+ "version": "0.6.3",
4
4
  "license": "Apache-2.0",
5
5
  "description": "Bot-side code shared by every hub agent: registry tools, the roster hook, the eve channel, the host sandbox and browser, and model helpers.",
6
6
  "type": "module",
@@ -1,4 +1,4 @@
1
1
  - **Team.** There is no `create_agent` or `remove_agent`: the roster is `hub.workspace.json`, and a deployment changes it by commit. If nobody on the team covers the work well, ask the human before going on.
2
2
  - **Restarts.** There is no `restart_agent` or `restart_hub`: you cannot restart a bot or the hub. A new deployment replaces the running bots.
3
- - **Memory.** The standing decisions every bot recalls are the `memory/` and `agents/<bot>/memory/` files built into each deployment. A new entry takes effect when the deployment that contains it is live, not on the next turn.
3
+ - **Memory.** Add an entry as your Memory section says, by committing the file to the workspace repository (see Changing it above). With no repository, write nothing and tell the human to link one first.
4
4
  - **Schedules.** The build removes the kit's schedules (`dash`, `compact`, `prune`), so no classifier runs, no tick posts, and nothing rewrites track summaries. What you write with `set_summary` and `dash_update` stands until you change it.
package/world.mjs CHANGED
@@ -26788,6 +26788,13 @@ var HostedDeployment = object2({
26788
26788
  url: string5()
26789
26789
  }).meta({ id: "HostedDeployment" });
26790
26790
  var HostedVersion = object2({ workspace: maybe(string5()), hub: string5() }).meta({ id: "HostedVersion" });
26791
+ var HostedUpdate = object2({
26792
+ state: string5(),
26793
+ to: string5(),
26794
+ at: maybe(string5()),
26795
+ /** `kind`: sign-in (the owner signs in again) | build (`url` is the failed build) | other. */
26796
+ error: maybe(object2({ kind: string5(), message: string5(), url: maybe(string5()) }))
26797
+ }).meta({ id: "HostedUpdate" });
26791
26798
  var HostedWorkspace = object2({
26792
26799
  project: object2({ name: string5(), url: string5() }),
26793
26800
  deployment: maybe(HostedDeployment),
@@ -26795,7 +26802,8 @@ var HostedWorkspace = object2({
26795
26802
  repo: maybe(object2({ name: string5(), url: string5() })),
26796
26803
  /** A repo-linked workspace's commits: the one production runs, and the one the hub's bot list and schedules were read from (absent until one is). They differ while the hub has not caught up. */
26797
26804
  commits: maybe(object2({ production: string5(), reconciled: maybe(string5()) })),
26798
- eveHub: HostedVersion
26805
+ eveHub: HostedVersion,
26806
+ update: maybe(HostedUpdate)
26799
26807
  }).meta({ id: "HostedWorkspace" });
26800
26808
  var WorkspaceRepo = object2({
26801
26809
  /** unknown | ok | no-repo | error */
@@ -26939,11 +26947,22 @@ var DeployedWorkspace = external_exports.object({
26939
26947
  agents: external_exports.array(external_exports.looseObject({ name: external_exports.string(), role: external_exports.string(), color: external_exports.string(), model: external_exports.string(), runsOn: external_exports.enum(["hosted", "local"]).optional(), subagents: external_exports.record(external_exports.string(), Requested).optional(), subagentCap: Cap.optional() })),
26940
26948
  subagentCap: Cap.optional()
26941
26949
  });
26942
- var StoredHosted = HostedWorkspace.omit({ eveHub: true, commits: true }).extend({
26950
+ var Upgrade = external_exports.object({
26951
+ to: external_exports.string(),
26952
+ ref: external_exports.string().nullable().default(null),
26953
+ deployment: external_exports.string().nullable().default(null),
26954
+ at: external_exports.string(),
26955
+ error: external_exports.object({ kind: external_exports.enum(["sign-in", "other"]), message: external_exports.string() }).nullable().default(null)
26956
+ });
26957
+ var Attempt = external_exports.object({ id: external_exports.string().nullable(), key: external_exports.string().nullable(), state: external_exports.string(), url: external_exports.string() });
26958
+ var StoredHosted = HostedWorkspace.omit({ eveHub: true, commits: true, update: true }).extend({
26943
26959
  workspaceEveHub: external_exports.string().nullable(),
26944
26960
  commit: external_exports.string().nullable().default(null),
26945
26961
  production: external_exports.string().nullable().default(null),
26946
- workspace: DeployedWorkspace.nullable().default(null)
26962
+ workspace: DeployedWorkspace.nullable().default(null),
26963
+ attempt: Attempt.nullable().default(null),
26964
+ upgrade: Upgrade.nullable().default(null),
26965
+ updated: external_exports.object({ to: external_exports.string(), at: external_exports.string() }).nullable().default(null)
26947
26966
  });
26948
26967
  var REPO_READ = s("SELECT metadata FROM workspace_repo WHERE id = 1");
26949
26968