@bongos/core 1.19.706 → 1.19.707
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/.bongos-core.json +27 -12
- package/docs/module-api-changelog.md +2 -0
- package/modules/agents/spawn.js +24 -3
- package/package-lock.json +2 -2
- package/package.json +1 -1
- package/scripts/gds/agent-invoke.js +711 -0
- package/src/module-api.js +1 -1
- package/tests/agent_invoke.mjs +566 -0
- package/tests/agent_invoke_live.mjs +111 -0
package/.bongos-core.json
CHANGED
|
@@ -2,22 +2,22 @@
|
|
|
2
2
|
"artifact": "bongos-core",
|
|
3
3
|
"manifest_schema": 1,
|
|
4
4
|
"generator": "scripts/gds/package-core.js",
|
|
5
|
-
"core_version": "1.19.
|
|
6
|
-
"core_contract": "1.19.
|
|
7
|
-
"source_commit": "
|
|
5
|
+
"core_version": "1.19.707",
|
|
6
|
+
"core_contract": "1.19.707",
|
|
7
|
+
"source_commit": "81f4406107cc23fffd1cd396faeba854cfab702e",
|
|
8
8
|
"source_ref": "HEAD",
|
|
9
|
-
"built_at": "2026-09-
|
|
9
|
+
"built_at": "2026-09-13T06:08:10.442Z",
|
|
10
10
|
"redaction": {
|
|
11
11
|
"model": "docs-redacted+functional-verbatim",
|
|
12
12
|
"docs_redacted": 477,
|
|
13
13
|
"agent_docs_stubbed": 24,
|
|
14
|
-
"functional_verbatim":
|
|
14
|
+
"functional_verbatim": 2138,
|
|
15
15
|
"rules": 3,
|
|
16
16
|
"gate_literals": 3,
|
|
17
17
|
"gate": "passed"
|
|
18
18
|
},
|
|
19
|
-
"file_count":
|
|
20
|
-
"tree_sha256": "
|
|
19
|
+
"file_count": 2639,
|
|
20
|
+
"tree_sha256": "b1f44a9ac5209bb3aef35739af94352c50892f50161818d2e805cdcb9fb92687",
|
|
21
21
|
"files": [
|
|
22
22
|
{
|
|
23
23
|
"path": ".claude/skills/ask-for-help/SKILL.md",
|
|
@@ -2802,7 +2802,7 @@
|
|
|
2802
2802
|
{
|
|
2803
2803
|
"path": "docs/module-api-changelog.md",
|
|
2804
2804
|
"mode": "0000644",
|
|
2805
|
-
"sha256": "
|
|
2805
|
+
"sha256": "59033d82daa55e0e2bb8f357d076e5e0c36b6d708ec764ed28946248da86a1c6"
|
|
2806
2806
|
},
|
|
2807
2807
|
{
|
|
2808
2808
|
"path": "docs/modules-contract.md",
|
|
@@ -3882,7 +3882,7 @@
|
|
|
3882
3882
|
{
|
|
3883
3883
|
"path": "modules/agents/spawn.js",
|
|
3884
3884
|
"mode": "0000644",
|
|
3885
|
-
"sha256": "
|
|
3885
|
+
"sha256": "4e92375cbedf3f782583af007314e46262d5776c4c7dc67dc7ff6abda0884ea3"
|
|
3886
3886
|
},
|
|
3887
3887
|
{
|
|
3888
3888
|
"path": "modules/autonomy/CLAUDE.md",
|
|
@@ -7782,12 +7782,12 @@
|
|
|
7782
7782
|
{
|
|
7783
7783
|
"path": "package-lock.json",
|
|
7784
7784
|
"mode": "0000644",
|
|
7785
|
-
"sha256": "
|
|
7785
|
+
"sha256": "0beecf6840022e259986573a8a0b444f9d4848dc0758f009b83e346f54769a1f"
|
|
7786
7786
|
},
|
|
7787
7787
|
{
|
|
7788
7788
|
"path": "package.json",
|
|
7789
7789
|
"mode": "0000644",
|
|
7790
|
-
"sha256": "
|
|
7790
|
+
"sha256": "bed665bc57c56a76e572401a1baed5fd08bfcca74a1a32e2dc744b6af2f79399"
|
|
7791
7791
|
},
|
|
7792
7792
|
{
|
|
7793
7793
|
"path": "public-docs/index.html",
|
|
@@ -7859,6 +7859,11 @@
|
|
|
7859
7859
|
"mode": "0000644",
|
|
7860
7860
|
"sha256": "9c7ef61b64e41ee5dd6d913883e16dfed6d44bd6eefa4960b8dde566a63b5621"
|
|
7861
7861
|
},
|
|
7862
|
+
{
|
|
7863
|
+
"path": "scripts/gds/agent-invoke.js",
|
|
7864
|
+
"mode": "0000644",
|
|
7865
|
+
"sha256": "ee5b3a261ff1821d81f8d9c44ec3b319cd1c8c6681e28547b4bddb802a6bda56"
|
|
7866
|
+
},
|
|
7862
7867
|
{
|
|
7863
7868
|
"path": "scripts/gds/agents-sync.js",
|
|
7864
7869
|
"mode": "0000644",
|
|
@@ -9562,7 +9567,7 @@
|
|
|
9562
9567
|
{
|
|
9563
9568
|
"path": "src/module-api.js",
|
|
9564
9569
|
"mode": "0000644",
|
|
9565
|
-
"sha256": "
|
|
9570
|
+
"sha256": "6bf49d3b72dbd08d6ede9514f8381efcb22d45602ed5f5de84893c1181b38dce"
|
|
9566
9571
|
},
|
|
9567
9572
|
{
|
|
9568
9573
|
"path": "src/module-loader/catalog.js",
|
|
@@ -9664,6 +9669,16 @@
|
|
|
9664
9669
|
"mode": "0000644",
|
|
9665
9670
|
"sha256": "bdc9d3678e12dee3f3252785ca82e06071421762c7146cbc1591d3fc2ec72180"
|
|
9666
9671
|
},
|
|
9672
|
+
{
|
|
9673
|
+
"path": "tests/agent_invoke.mjs",
|
|
9674
|
+
"mode": "0000644",
|
|
9675
|
+
"sha256": "dfee6b9fd55abd8df182ddfc2a2b30b0168254368e1986b58fc60cb86fcaf2d7"
|
|
9676
|
+
},
|
|
9677
|
+
{
|
|
9678
|
+
"path": "tests/agent_invoke_live.mjs",
|
|
9679
|
+
"mode": "0000644",
|
|
9680
|
+
"sha256": "9b90e0caab614f0751c251c5b5812ee273443a74e684d9156a7bffbb28ac7ee2"
|
|
9681
|
+
},
|
|
9667
9682
|
{
|
|
9668
9683
|
"path": "tests/agents_routes.mjs",
|
|
9669
9684
|
"mode": "0000644",
|
|
@@ -1871,5 +1871,7 @@ is load-bearing: the script throws rather than guess if it is missing, and
|
|
|
1871
1871
|
landed since 1.19.704 with no explicit bump. run 34739785273. (task 1002620)
|
|
1872
1872
|
1.19.706 — CI auto-patch (publish-on-merge, ADR 0161): carrier for merges
|
|
1873
1873
|
landed since 1.19.705 with no explicit bump. run 34740247460. (task 1002620)
|
|
1874
|
+
1.19.707 — CI auto-patch (publish-on-merge, ADR 0161): carrier for merges
|
|
1875
|
+
landed since 1.19.706 with no explicit bump. run 34741980536. (task 1002620)
|
|
1874
1876
|
---------------------------------------------------------------------------
|
|
1875
1877
|
```
|
package/modules/agents/spawn.js
CHANGED
|
@@ -74,6 +74,26 @@ function plannedRow({ definition = {}, trigger = {}, gate = {}, model = null, re
|
|
|
74
74
|
};
|
|
75
75
|
}
|
|
76
76
|
|
|
77
|
+
// THE PROMPT ONE FIRE SENDS. The persona is WHO the agent is; `input` is what it
|
|
78
|
+
// was asked THIS time.
|
|
79
|
+
//
|
|
80
|
+
// An on-demand definition is meaningless without the second half — the trigger
|
|
81
|
+
// type has existed in the schema since the first migration, but until task
|
|
82
|
+
// 1002491 there was no way to carry the demand, so every fire sent the persona
|
|
83
|
+
// alone and an on-demand agent could only ever answer the empty question. An
|
|
84
|
+
// event fire passes no input and composes to exactly the string it sent before.
|
|
85
|
+
//
|
|
86
|
+
// Composed HERE, in the one function that talks to the runner, rather than by the
|
|
87
|
+
// caller handing over a doctored `definition`. A caller that rewrote `persona` to
|
|
88
|
+
// smuggle the question in would also be the thing `plannedRow` reads the agent's
|
|
89
|
+
// identity from, and the ledger would then describe a definition that never ran.
|
|
90
|
+
function composePrompt(definition, input) {
|
|
91
|
+
const persona = (definition && typeof definition.persona === 'string') ? definition.persona : '';
|
|
92
|
+
const text = typeof input === 'string' ? input.trim() : '';
|
|
93
|
+
if (!text) return persona;
|
|
94
|
+
return persona ? `${persona}\n\n${text}` : text;
|
|
95
|
+
}
|
|
96
|
+
|
|
77
97
|
// How a finished run is recorded. Pure for the same reason.
|
|
78
98
|
function completedRow({ ok, errorCode = null, costUsd = null, durationMs = null, outputRef = null } = {}) {
|
|
79
99
|
if (ok) {
|
|
@@ -114,7 +134,8 @@ async function finishRun(pool, id, patch) {
|
|
|
114
134
|
// into whatever triggered it — an event fabric must not be taken down by one
|
|
115
135
|
// agent's bad day.
|
|
116
136
|
async function spawnAgent({
|
|
117
|
-
definition, trigger = {}, gate = { decision: 'go' },
|
|
137
|
+
definition, input = null, trigger = {}, gate = { decision: 'go' },
|
|
138
|
+
requestedByBuilderId = null, cache = null,
|
|
118
139
|
} = {}, deps = {}) {
|
|
119
140
|
const pool = deps.pool || api.pool;
|
|
120
141
|
const now = deps.now || (() => Date.now());
|
|
@@ -150,7 +171,7 @@ async function spawnAgent({
|
|
|
150
171
|
const started = now();
|
|
151
172
|
try {
|
|
152
173
|
const res = await runner({
|
|
153
|
-
prompt: (definition
|
|
174
|
+
prompt: composePrompt(definition, input),
|
|
154
175
|
// model/cwd/timeout are the ONLY knobs the port takes. No tools, no
|
|
155
176
|
// permissions — see constraint 3.
|
|
156
177
|
opts: { model, ...(deps.opts || {}) },
|
|
@@ -177,4 +198,4 @@ async function spawnAgent({
|
|
|
177
198
|
}
|
|
178
199
|
}
|
|
179
200
|
|
|
180
|
-
module.exports = { spawnAgent, resolveModel, plannedRow, completedRow };
|
|
201
|
+
module.exports = { spawnAgent, resolveModel, plannedRow, completedRow, composePrompt };
|
package/package-lock.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bongos/core",
|
|
3
|
-
"version": "1.19.
|
|
3
|
+
"version": "1.19.707",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "@bongos/core",
|
|
9
|
-
"version": "1.19.
|
|
9
|
+
"version": "1.19.707",
|
|
10
10
|
"license": "AGPL-3.0-or-later",
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"express": "^4.21.2",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bongos/core",
|
|
3
|
-
"version": "1.19.
|
|
3
|
+
"version": "1.19.707",
|
|
4
4
|
"description": "Cloud Bongos — the AI-first build platform core (GDS + platform surfaces + module system), installed as a versioned dependency (ADR 0108).",
|
|
5
5
|
"license": "AGPL-3.0-or-later",
|
|
6
6
|
"main": "src/platform-server.js",
|