unoverse 0.1.133 → 0.1.135
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/lib/create/index.mjs
CHANGED
|
@@ -42,8 +42,9 @@ export async function create(nameArg) {
|
|
|
42
42
|
console.log(`\n ${dim(`${target === "." ? "This folder" : `./${target}`} is already a universe. Picking setup back up.`)}\n`);
|
|
43
43
|
rl.close();
|
|
44
44
|
const here2 = dirname(fileURLToPath(import.meta.url));
|
|
45
|
-
|
|
46
|
-
const
|
|
45
|
+
// Depths are from lib/create/, NOT lib/ — see the note at the second copy below.
|
|
46
|
+
const repo2 = resolve(here2, "../../../../scripts/operator.sh");
|
|
47
|
+
const op = existsSync(repo2) ? repo2 : resolve(here2, "../../operator/operator.sh");
|
|
47
48
|
const r2 = spawnSync("bash", [op, "init"], { stdio: "inherit", cwd: target });
|
|
48
49
|
process.exit(r2.status ?? 0);
|
|
49
50
|
}
|
|
@@ -91,11 +92,21 @@ export async function create(nameArg) {
|
|
|
91
92
|
rl.close();
|
|
92
93
|
console.log("");
|
|
93
94
|
// This package's own operator, run against the folder just scaffolded.
|
|
95
|
+
// COUNT FROM lib/create/, not lib/. These four segments moved down a directory in
|
|
96
|
+
// the create.mjs split and kept the depths they had at lib/, so the vendored copy
|
|
97
|
+
// was looked for at lib/operator/ (never there) and the fallback landed on
|
|
98
|
+
// <node_modules>/scripts/operator.sh. Every universe scaffolded, then died on
|
|
99
|
+
// "setup did not finish" at the last step.
|
|
100
|
+
//
|
|
101
|
+
// IN-REPO WINS, as in bin/unoverse.mjs: the vendored copy is a prepack artifact, so
|
|
102
|
+
// preferring it makes every edit to scripts/lib invisible while developing here. A
|
|
103
|
+
// published package has no ../../../../scripts, so there the vendored copy is the
|
|
104
|
+
// only one and still wins.
|
|
94
105
|
const here = dirname(fileURLToPath(import.meta.url));
|
|
95
|
-
const
|
|
96
|
-
const operatorScript = existsSync(
|
|
97
|
-
?
|
|
98
|
-
: resolve(here, "
|
|
106
|
+
const inRepo = resolve(here, "../../../../scripts/operator.sh");
|
|
107
|
+
const operatorScript = existsSync(inRepo)
|
|
108
|
+
? inRepo
|
|
109
|
+
: resolve(here, "../../operator/operator.sh");
|
|
99
110
|
// NO authoring skill here, deliberately. Building components, nodes and agent
|
|
100
111
|
// skills is STUDIO work and its skill ships with Studio projects. What a universe
|
|
101
112
|
// offers Claude Code is the canvas MCP (.mcp.json in the scaffold): building and
|
|
@@ -177,8 +177,14 @@
|
|
|
177
177
|
# had already been fixed two minutes earlier by this very playbook.
|
|
178
178
|
#
|
|
179
179
|
# The question is "is anything wrong NOW", so the window starts when the services did.
|
|
180
|
+
# `{% raw %}` because DOCKER'S TEMPLATE LANGUAGE AND JINJA SHARE A SYNTAX. `-f
|
|
181
|
+
# '{{.State.StartedAt}}'` is a Go template for docker and a Jinja expression for
|
|
182
|
+
# Ansible, which parses it first and dies on `unexpected '.'` — the whole task fails
|
|
183
|
+
# before the shell ever runs. This block uses no Ansible variables, so the honest fix is
|
|
184
|
+
# to hand it over untouched rather than escape the braces one at a time.
|
|
180
185
|
- name: "[12/14] Check for errors in service logs"
|
|
181
186
|
shell: |
|
|
187
|
+
{% raw %}
|
|
182
188
|
cd /opt/gravity
|
|
183
189
|
# Newest container start: everything before it belongs to a previous run.
|
|
184
190
|
SINCE=$(docker compose ps -q 2>/dev/null | xargs -r docker inspect -f '{{.State.StartedAt}}' 2>/dev/null | sort | tail -1)
|
|
@@ -190,6 +196,7 @@
|
|
|
190
196
|
else
|
|
191
197
|
echo "No errors since the services started"
|
|
192
198
|
fi
|
|
199
|
+
{% endraw %}
|
|
193
200
|
register: log_errors
|
|
194
201
|
ignore_errors: yes
|
|
195
202
|
|
package/package.json
CHANGED