@buoy-gg/agent-core 7.0.35 → 7.0.36
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/README.md +10 -7
- package/lib/commonjs/blocks/receipts.js +57 -1
- package/lib/commonjs/blocks/receipts.js.map +1 -1
- package/lib/commonjs/blocks/types.js +23 -2
- package/lib/commonjs/blocks/types.js.map +1 -1
- package/lib/commonjs/blocks/uiTool.js +423 -10
- package/lib/commonjs/blocks/uiTool.js.map +1 -1
- package/lib/commonjs/catalog/catalog.g.js +121 -43
- package/lib/commonjs/catalog/catalog.g.js.map +1 -1
- package/lib/commonjs/catalog/catalog.source.json +121 -45
- package/lib/commonjs/catalog/catalog.types.g.js +44 -0
- package/lib/commonjs/catalog/catalog.types.g.js.map +1 -0
- package/lib/commonjs/catalog/normalizeParams.js +333 -0
- package/lib/commonjs/catalog/normalizeParams.js.map +1 -0
- package/lib/commonjs/catalog/signature.js +68 -0
- package/lib/commonjs/catalog/signature.js.map +1 -0
- package/lib/commonjs/catalog/snapshotReads.js +13 -6
- package/lib/commonjs/catalog/snapshotReads.js.map +1 -1
- package/lib/commonjs/catalog/toProviderTools.js +41 -5
- package/lib/commonjs/catalog/toProviderTools.js.map +1 -1
- package/lib/commonjs/context/buildContextPack.js +367 -19
- package/lib/commonjs/context/buildContextPack.js.map +1 -1
- package/lib/commonjs/effects/digest.js +34 -0
- package/lib/commonjs/effects/digest.js.map +1 -0
- package/lib/commonjs/effects/ledger.js +85 -1
- package/lib/commonjs/effects/ledger.js.map +1 -1
- package/lib/commonjs/engine/askGate.js +287 -0
- package/lib/commonjs/engine/askGate.js.map +1 -0
- package/lib/commonjs/engine/effectFor.js +82 -1
- package/lib/commonjs/engine/effectFor.js.map +1 -1
- package/lib/commonjs/engine/historyBudget.js +260 -0
- package/lib/commonjs/engine/historyBudget.js.map +1 -0
- package/lib/commonjs/engine/runAgentTurn.js +924 -83
- package/lib/commonjs/engine/runAgentTurn.js.map +1 -1
- package/lib/commonjs/engine/systemPrompt.js +72 -8
- package/lib/commonjs/engine/systemPrompt.js.map +1 -1
- package/lib/commonjs/engine/textToolCalls.js +276 -0
- package/lib/commonjs/engine/textToolCalls.js.map +1 -0
- package/lib/commonjs/index.js +58 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/policy/labels.js +19 -3
- package/lib/commonjs/policy/labels.js.map +1 -1
- package/lib/commonjs/policy/policy.js +6 -1
- package/lib/commonjs/policy/policy.js.map +1 -1
- package/lib/commonjs/policy/redact.js +42 -5
- package/lib/commonjs/policy/redact.js.map +1 -1
- package/lib/commonjs/providers/anthropic.js +331 -208
- package/lib/commonjs/providers/anthropic.js.map +1 -1
- package/lib/commonjs/providers/openai.js +229 -103
- package/lib/commonjs/providers/openai.js.map +1 -1
- package/lib/commonjs/providers/sse.js +164 -29
- package/lib/commonjs/providers/sse.js.map +1 -1
- package/lib/commonjs/providers/streamTimer.js +123 -0
- package/lib/commonjs/providers/streamTimer.js.map +1 -0
- package/lib/commonjs/providers/transport.js +107 -0
- package/lib/commonjs/providers/transport.js.map +1 -0
- package/lib/commonjs/providers/xhrStream.js +209 -0
- package/lib/commonjs/providers/xhrStream.js.map +1 -0
- package/lib/commonjs/session.js +215 -58
- package/lib/commonjs/session.js.map +1 -1
- package/lib/module/blocks/receipts.js +57 -1
- package/lib/module/blocks/receipts.js.map +1 -1
- package/lib/module/blocks/types.js +23 -2
- package/lib/module/blocks/types.js.map +1 -1
- package/lib/module/blocks/uiTool.js +421 -10
- package/lib/module/blocks/uiTool.js.map +1 -1
- package/lib/module/catalog/catalog.g.js +121 -43
- package/lib/module/catalog/catalog.g.js.map +1 -1
- package/lib/module/catalog/catalog.source.json +121 -45
- package/lib/module/catalog/catalog.types.g.js +40 -0
- package/lib/module/catalog/catalog.types.g.js.map +1 -0
- package/lib/module/catalog/normalizeParams.js +327 -0
- package/lib/module/catalog/normalizeParams.js.map +1 -0
- package/lib/module/catalog/signature.js +63 -0
- package/lib/module/catalog/signature.js.map +1 -0
- package/lib/module/catalog/snapshotReads.js +13 -6
- package/lib/module/catalog/snapshotReads.js.map +1 -1
- package/lib/module/catalog/toProviderTools.js +41 -5
- package/lib/module/catalog/toProviderTools.js.map +1 -1
- package/lib/module/context/buildContextPack.js +366 -19
- package/lib/module/context/buildContextPack.js.map +1 -1
- package/lib/module/effects/digest.js +29 -0
- package/lib/module/effects/digest.js.map +1 -0
- package/lib/module/effects/ledger.js +85 -1
- package/lib/module/effects/ledger.js.map +1 -1
- package/lib/module/engine/askGate.js +280 -0
- package/lib/module/engine/askGate.js.map +1 -0
- package/lib/module/engine/effectFor.js +83 -1
- package/lib/module/engine/effectFor.js.map +1 -1
- package/lib/module/engine/historyBudget.js +251 -0
- package/lib/module/engine/historyBudget.js.map +1 -0
- package/lib/module/engine/runAgentTurn.js +920 -83
- package/lib/module/engine/runAgentTurn.js.map +1 -1
- package/lib/module/engine/systemPrompt.js +71 -8
- package/lib/module/engine/systemPrompt.js.map +1 -1
- package/lib/module/engine/textToolCalls.js +270 -0
- package/lib/module/engine/textToolCalls.js.map +1 -0
- package/lib/module/index.js +5 -3
- package/lib/module/index.js.map +1 -1
- package/lib/module/policy/labels.js +19 -3
- package/lib/module/policy/labels.js.map +1 -1
- package/lib/module/policy/policy.js +6 -1
- package/lib/module/policy/policy.js.map +1 -1
- package/lib/module/policy/redact.js +42 -5
- package/lib/module/policy/redact.js.map +1 -1
- package/lib/module/providers/anthropic.js +332 -209
- package/lib/module/providers/anthropic.js.map +1 -1
- package/lib/module/providers/openai.js +230 -104
- package/lib/module/providers/openai.js.map +1 -1
- package/lib/module/providers/sse.js +160 -29
- package/lib/module/providers/sse.js.map +1 -1
- package/lib/module/providers/streamTimer.js +118 -0
- package/lib/module/providers/streamTimer.js.map +1 -0
- package/lib/module/providers/transport.js +103 -0
- package/lib/module/providers/transport.js.map +1 -0
- package/lib/module/providers/xhrStream.js +204 -0
- package/lib/module/providers/xhrStream.js.map +1 -0
- package/lib/module/session.js +199 -60
- package/lib/module/session.js.map +1 -1
- package/lib/typescript/blocks/receipts.d.ts +5 -0
- package/lib/typescript/blocks/receipts.d.ts.map +1 -1
- package/lib/typescript/blocks/types.d.ts +23 -2
- package/lib/typescript/blocks/types.d.ts.map +1 -1
- package/lib/typescript/blocks/uiTool.d.ts +11 -2
- package/lib/typescript/blocks/uiTool.d.ts.map +1 -1
- package/lib/typescript/catalog/catalog.g.d.ts.map +1 -1
- package/lib/typescript/catalog/catalog.types.g.d.ts +40 -0
- package/lib/typescript/catalog/catalog.types.g.d.ts.map +1 -0
- package/lib/typescript/catalog/normalizeParams.d.ts +43 -0
- package/lib/typescript/catalog/normalizeParams.d.ts.map +1 -0
- package/lib/typescript/catalog/signature.d.ts +29 -0
- package/lib/typescript/catalog/signature.d.ts.map +1 -0
- package/lib/typescript/catalog/snapshotReads.d.ts.map +1 -1
- package/lib/typescript/catalog/toProviderTools.d.ts +28 -15
- package/lib/typescript/catalog/toProviderTools.d.ts.map +1 -1
- package/lib/typescript/context/buildContextPack.d.ts +24 -2
- package/lib/typescript/context/buildContextPack.d.ts.map +1 -1
- package/lib/typescript/effects/digest.d.ts +10 -0
- package/lib/typescript/effects/digest.d.ts.map +1 -0
- package/lib/typescript/effects/ledger.d.ts +55 -0
- package/lib/typescript/effects/ledger.d.ts.map +1 -1
- package/lib/typescript/engine/askGate.d.ts +29 -0
- package/lib/typescript/engine/askGate.d.ts.map +1 -0
- package/lib/typescript/engine/effectFor.d.ts +6 -1
- package/lib/typescript/engine/effectFor.d.ts.map +1 -1
- package/lib/typescript/engine/historyBudget.d.ts +92 -0
- package/lib/typescript/engine/historyBudget.d.ts.map +1 -0
- package/lib/typescript/engine/runAgentTurn.d.ts +83 -1
- package/lib/typescript/engine/runAgentTurn.d.ts.map +1 -1
- package/lib/typescript/engine/systemPrompt.d.ts +41 -0
- package/lib/typescript/engine/systemPrompt.d.ts.map +1 -1
- package/lib/typescript/engine/textToolCalls.d.ts +58 -0
- package/lib/typescript/engine/textToolCalls.d.ts.map +1 -0
- package/lib/typescript/index.d.ts +5 -3
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/policy/labels.d.ts.map +1 -1
- package/lib/typescript/policy/policy.d.ts.map +1 -1
- package/lib/typescript/policy/redact.d.ts.map +1 -1
- package/lib/typescript/providers/anthropic.d.ts.map +1 -1
- package/lib/typescript/providers/openai.d.ts +0 -16
- package/lib/typescript/providers/openai.d.ts.map +1 -1
- package/lib/typescript/providers/sse.d.ts +82 -1
- package/lib/typescript/providers/sse.d.ts.map +1 -1
- package/lib/typescript/providers/streamTimer.d.ts +59 -0
- package/lib/typescript/providers/streamTimer.d.ts.map +1 -0
- package/lib/typescript/providers/transport.d.ts +40 -0
- package/lib/typescript/providers/transport.d.ts.map +1 -0
- package/lib/typescript/providers/types.d.ts +91 -3
- package/lib/typescript/providers/types.d.ts.map +1 -1
- package/lib/typescript/providers/xhrStream.d.ts +43 -0
- package/lib/typescript/providers/xhrStream.d.ts.map +1 -0
- package/lib/typescript/session.d.ts +40 -2
- package/lib/typescript/session.d.ts.map +1 -1
- package/package.json +2 -2
package/lib/module/index.js
CHANGED
|
@@ -11,14 +11,16 @@
|
|
|
11
11
|
*/
|
|
12
12
|
|
|
13
13
|
export { CATALOG, CATALOG_ACTION_COUNT, CATALOG_TOOL_COUNT } from "./catalog/catalog.g";
|
|
14
|
+
export { CATALOG_ACTIONS } from "./catalog/catalog.types.g";
|
|
14
15
|
export { fromProviderToolName, toProviderToolName, toProviderTools } from "./catalog/toProviderTools";
|
|
15
16
|
export { applyDefaults, validateParams } from "./catalog/validateParams";
|
|
16
17
|
export { projectSnapshot, SNAPSHOT_ACTION } from "./catalog/snapshotReads";
|
|
18
|
+
export { normalizeParams, aliasNote, hashQueryKey } from "./catalog/normalizeParams";
|
|
17
19
|
export { createAnthropicProvider } from "./providers/anthropic";
|
|
18
20
|
export { createOpenAIProvider } from "./providers/openai";
|
|
19
|
-
export { runAgentTurn, runGatedAction } from "./engine/runAgentTurn";
|
|
20
|
-
export { buildSystemPrompt } from "./engine/systemPrompt";
|
|
21
|
-
export { buildContextDigest } from "./context/buildContextPack";
|
|
21
|
+
export { runAgentTurn, runGatedAction, readTargetDigest, digestOf } from "./engine/runAgentTurn";
|
|
22
|
+
export { buildLiveBlock, buildSystemPrompt } from "./engine/systemPrompt";
|
|
23
|
+
export { buildContextDigest, buildLiveContext } from "./context/buildContextPack";
|
|
22
24
|
export { EffectLedger, isReversible } from "./effects/ledger";
|
|
23
25
|
export { humanise, titleCall, toolTitle } from "./policy/labels";
|
|
24
26
|
export * from "./blocks/types";
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["CATALOG","CATALOG_ACTION_COUNT","CATALOG_TOOL_COUNT","fromProviderToolName","toProviderToolName","toProviderTools","applyDefaults","validateParams","projectSnapshot","SNAPSHOT_ACTION","createAnthropicProvider","createOpenAIProvider","runAgentTurn","runGatedAction","buildSystemPrompt","buildContextDigest","EffectLedger","isReversible","humanise","titleCall","toolTitle","UI_TOOL_NAME","UI_PARAMS","uiProviderTool","buildUiBlock","projectReceipt","shallowDiff","decide","describeCall","DEFAULT_REQUIRE_APPROVAL","resolveRequireApproval","redact","registerSelfEndpoint","isSelfTraffic","stripSelfTraffic","idFactory","RUN_ID","createAskBuoySession","resumableHistory"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAYA,SAASA,OAAO,EAAEC,oBAAoB,EAAEC,kBAAkB,QAAQ,qBAAqB;AACvF,SACEC,oBAAoB,EACpBC,kBAAkB,EAClBC,eAAe,QAGV,2BAA2B;AAClC,SACEC,aAAa,EACbC,cAAc,QAET,0BAA0B;AACjC,SAASC,eAAe,EAAEC,eAAe,QAAQ,yBAAyB;
|
|
1
|
+
{"version":3,"names":["CATALOG","CATALOG_ACTION_COUNT","CATALOG_TOOL_COUNT","CATALOG_ACTIONS","fromProviderToolName","toProviderToolName","toProviderTools","applyDefaults","validateParams","projectSnapshot","SNAPSHOT_ACTION","normalizeParams","aliasNote","hashQueryKey","createAnthropicProvider","createOpenAIProvider","runAgentTurn","runGatedAction","readTargetDigest","digestOf","buildLiveBlock","buildSystemPrompt","buildContextDigest","buildLiveContext","EffectLedger","isReversible","humanise","titleCall","toolTitle","UI_TOOL_NAME","UI_PARAMS","uiProviderTool","buildUiBlock","projectReceipt","shallowDiff","decide","describeCall","DEFAULT_REQUIRE_APPROVAL","resolveRequireApproval","redact","registerSelfEndpoint","isSelfTraffic","stripSelfTraffic","idFactory","RUN_ID","createAskBuoySession","resumableHistory"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAYA,SAASA,OAAO,EAAEC,oBAAoB,EAAEC,kBAAkB,QAAQ,qBAAqB;AACvF,SACEC,eAAe,QAIV,2BAA2B;AAClC,SACEC,oBAAoB,EACpBC,kBAAkB,EAClBC,eAAe,QAGV,2BAA2B;AAClC,SACEC,aAAa,EACbC,cAAc,QAET,0BAA0B;AACjC,SAASC,eAAe,EAAEC,eAAe,QAAQ,yBAAyB;AAC1E,SAASC,eAAe,EAAEC,SAAS,EAAEC,YAAY,QAAQ,2BAA2B;AAEpF,SAASC,uBAAuB,QAAQ,uBAAuB;AAC/D,SAASC,oBAAoB,QAAQ,oBAAoB;AAazD,SACEC,YAAY,EACZC,cAAc,EACdC,gBAAgB,EAChBC,QAAQ,QAKH,uBAAuB;AAC9B,SACEC,cAAc,EACdC,iBAAiB,QAGZ,uBAAuB;AAC9B,SACEC,kBAAkB,EAClBC,gBAAgB,QAEX,4BAA4B;AAEnC,SACEC,YAAY,EACZC,YAAY,QAIP,kBAAkB;AAEzB,SAASC,QAAQ,EAAEC,SAAS,EAAEC,SAAS,QAAQ,iBAAiB;AAChE,cAAc,gBAAgB;AAC9B,SAASC,YAAY,EAAEC,SAAS,EAAEC,cAAc,EAAEC,YAAY,QAAQ,iBAAiB;AACvF,SAASC,cAAc,EAAEC,WAAW,QAA2B,mBAAmB;AAClF,SACEC,MAAM,EACNC,YAAY,EACZC,wBAAwB,EACxBC,sBAAsB,QAIjB,iBAAiB;AACxB,SACEC,MAAM,EACNC,oBAAoB,EACpBC,aAAa,EACbC,gBAAgB,QACX,iBAAiB;AAExB,SAASC,SAAS,EAAEC,MAAM,QAAQ,gBAAgB;AAClD,SACEC,oBAAoB,EACpBC,gBAAgB,QAGX,WAAW","ignoreList":[]}
|
|
@@ -80,8 +80,12 @@ const PHRASES = {
|
|
|
80
80
|
"storage.async.removeItem": "Delete saved value {key}",
|
|
81
81
|
"storage.async.multiRemove": "Delete saved values",
|
|
82
82
|
"storage.async.multiSet": "Save several values",
|
|
83
|
-
|
|
84
|
-
|
|
83
|
+
// These two MUST read differently. They were both "Clear all saved app data",
|
|
84
|
+
// and the difference is the whole point: `async.clear` also wipes Buoy's own
|
|
85
|
+
// devtool settings, `clearAppStorage` preserves them. A user approving the
|
|
86
|
+
// shared wording had no way to tell which one they were about to get.
|
|
87
|
+
"storage.async.clear": "Clear ALL saved data — including Buoy's own settings",
|
|
88
|
+
"storage.clearAppStorage": "Clear the app's saved data (keeps Buoy's settings)",
|
|
85
89
|
"storage.getEventDetail": "Inspect a storage change",
|
|
86
90
|
"storage.timeTravel.undo": "Undo a storage change",
|
|
87
91
|
"storage.timeTravel.jump": "Rewind storage to an earlier point",
|
|
@@ -135,7 +139,12 @@ const PHRASES = {
|
|
|
135
139
|
"time-machine.delete": "Delete snapshot {id}",
|
|
136
140
|
"time-machine.rename": "Rename a snapshot to {name}",
|
|
137
141
|
"time-machine.duplicate": "Duplicate snapshot {id}",
|
|
138
|
-
"time-machine.
|
|
142
|
+
// NOT "delete every snapshot" — that is `time-machine.delete`, and this card
|
|
143
|
+
// said so for months. `wipeAll` clears EVERY registered state source to
|
|
144
|
+
// fresh-install and reloads the app (timeMachineStore.ts:639); no snapshot is
|
|
145
|
+
// involved and there is no undo. The approval card is the last thing standing
|
|
146
|
+
// between a user and that, so it has to name the real blast radius.
|
|
147
|
+
"time-machine.wipeAll": "Wipe ALL app state to fresh install and reload",
|
|
139
148
|
"scenarios.listScenarios": "List scenarios",
|
|
140
149
|
"scenarios.getScenario": "Read scenario {id}",
|
|
141
150
|
"scenarios.run": "Run scenario {id}",
|
|
@@ -238,6 +247,13 @@ function readPath(params, path) {
|
|
|
238
247
|
}
|
|
239
248
|
if (typeof cur === "string" && cur.trim()) return truncate(cur.trim());
|
|
240
249
|
if (typeof cur === "number") return String(cur);
|
|
250
|
+
// A query key is an array — `["pokemon","pikachu","fetch"]` — and the ledger
|
|
251
|
+
// row for the product's headline write read "Replace cached data for" with
|
|
252
|
+
// nothing after it. Primitive arrays render as a path; anything else stays
|
|
253
|
+
// out of a label.
|
|
254
|
+
if (Array.isArray(cur) && cur.length > 0 && cur.every(v => typeof v === "string" || typeof v === "number")) {
|
|
255
|
+
return truncate(cur.map(String).join(" / "));
|
|
256
|
+
}
|
|
241
257
|
return undefined;
|
|
242
258
|
}
|
|
243
259
|
function truncate(value) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["CATALOG","PHRASES","SWITCHES","param","on","off","TOOL_TITLES","Object","fromEntries","map","t","toolId","cleanTitle","title","base","replace","trim","toUpperCase","length","split","w","charAt","slice","toLowerCase","join","toolTitle","humanise","MAX_VALUE","readPath","params","path","cur","seg","undefined","truncate","String","value","fill","template","_","spec","
|
|
1
|
+
{"version":3,"names":["CATALOG","PHRASES","SWITCHES","param","on","off","TOOL_TITLES","Object","fromEntries","map","t","toolId","cleanTitle","title","base","replace","trim","toUpperCase","length","split","w","charAt","slice","toLowerCase","join","toolTitle","humanise","MAX_VALUE","readPath","params","path","cur","seg","undefined","truncate","String","Array","isArray","every","v","value","fill","template","_","spec","action","last","pop","words","notableParams","parts","key","push","titleCall","sw","phrase","out","leaf","detail"],"sourceRoot":"../../../src","sources":["policy/labels.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -91,7 +91,12 @@ export function decide({
|
|
|
91
91
|
if (resolveRequireApproval(policy).includes(descriptor.effect)) {
|
|
92
92
|
return {
|
|
93
93
|
verdict: "needs-approval",
|
|
94
|
-
reason: descriptor.effect === "destructive"
|
|
94
|
+
reason: descriptor.effect === "destructive"
|
|
95
|
+
// Not "this will wipe or reset something": most destructive actions
|
|
96
|
+
// in the catalog are ordinary edits that simply cannot be put back
|
|
97
|
+
// (a store write, a cache reset), and telling someone their quantity
|
|
98
|
+
// change is a wipe teaches them to stop reading the card.
|
|
99
|
+
? "Buoy can't undo this one — that's why it's asking." : "This will change the app's state."
|
|
95
100
|
};
|
|
96
101
|
}
|
|
97
102
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["titleCall","DEFAULT_REQUIRE_APPROVAL","resolveRequireApproval","policy","requireApproval","SECURE_VALUE_READS","Set","decide","descriptor","toolId","isRelease","rule","deny","action","verdict","reason","release","releaseRefusal","allow","permitted","some","undefined","effect","has","secureReads","readOnly","requireApprovalFor","includes","d","base","releaseNote","trim","describeCall","params"],"sourceRoot":"../../../src","sources":["policy/policy.ts"],"mappings":"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
|
|
1
|
+
{"version":3,"names":["titleCall","DEFAULT_REQUIRE_APPROVAL","resolveRequireApproval","policy","requireApproval","SECURE_VALUE_READS","Set","decide","descriptor","toolId","isRelease","rule","deny","action","verdict","reason","release","releaseRefusal","allow","permitted","some","undefined","effect","has","secureReads","readOnly","requireApprovalFor","includes","d","base","releaseNote","trim","describeCall","params"],"sourceRoot":"../../../src","sources":["policy/policy.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -17,7 +17,14 @@
|
|
|
17
17
|
* prompt-injection channel in one call.
|
|
18
18
|
*/
|
|
19
19
|
|
|
20
|
-
|
|
20
|
+
/**
|
|
21
|
+
* Key names that mean "credential", compared with separators stripped —
|
|
22
|
+
* `X_API_KEY`, `x-api-key` and `xApiKey` are the same word. A list of hyphen
|
|
23
|
+
* spellings let `EXPO_PUBLIC_X_API_KEY=…` through to the model whole on a real
|
|
24
|
+
* app, alongside `EXPO_PUBLIC_BUOY_KEY`, which is the Pro licence that gates
|
|
25
|
+
* this very tool. Both went out in plaintext while `…_PASSWORD` was caught.
|
|
26
|
+
*/
|
|
27
|
+
const SECRET_KEYS = ["authorization", "cookie", "setcookie", "apikey", "proxyauthorization", "authtoken", "accesstoken", "refreshtoken", "idtoken", "sessiontoken", "bearertoken", "licensekey", "licencekey", "buoykey", "privatekey", "secret", "password", "passwd", "credential"];
|
|
21
28
|
const REDACTED = "[redacted by Buoy]";
|
|
22
29
|
|
|
23
30
|
/**
|
|
@@ -38,8 +45,16 @@ const SECRET_VALUE_PATTERNS = [{
|
|
|
38
45
|
}, {
|
|
39
46
|
re: /\bBUOY-[A-Z0-9-]{8,}/g,
|
|
40
47
|
label: "[license key removed]"
|
|
48
|
+
},
|
|
49
|
+
// Keygen-issued Buoy Pro keys: five hex sextets and a version suffix.
|
|
50
|
+
{
|
|
51
|
+
re: /\b[A-F0-9]{6}(?:-[A-F0-9]{6}){4}-V\d\b/g,
|
|
52
|
+
label: "[license key removed]"
|
|
41
53
|
}, {
|
|
42
|
-
|
|
54
|
+
// Key-name spellings inside free text: `X_API_KEY=…`, `apiKey: "…"`,
|
|
55
|
+
// `EXPO_PUBLIC_BUOY_KEY=…`. Word-prefixed forms (EXPO_PUBLIC_, REACT_APP_)
|
|
56
|
+
// are covered because the name only has to END in the credential word.
|
|
57
|
+
re: /("|')?[A-Za-z0-9_-]*(authorization|api[_-]?key|password|passwd|secret|access[_-]?token|refresh[_-]?token|auth[_-]?token|session[_-]?token|license[_-]?key|licence[_-]?key|buoy[_-]?key|private[_-]?key)\1?\s*[:=]\s*("|')?[^\s"',}]{6,}/gi,
|
|
43
58
|
label: "[credential removed]"
|
|
44
59
|
}];
|
|
45
60
|
function scrubString(s) {
|
|
@@ -53,8 +68,8 @@ function scrubString(s) {
|
|
|
53
68
|
return out;
|
|
54
69
|
}
|
|
55
70
|
function isSecretKey(key) {
|
|
56
|
-
const k = key.toLowerCase();
|
|
57
|
-
return SECRET_KEYS.some(s => k
|
|
71
|
+
const k = key.toLowerCase().replace(/[-_.\s]/g, "");
|
|
72
|
+
return SECRET_KEYS.some(s => k.includes(s));
|
|
58
73
|
}
|
|
59
74
|
|
|
60
75
|
/**
|
|
@@ -80,11 +95,33 @@ export function redact(value, depth = 0) {
|
|
|
80
95
|
* own traffic. Registered by the runtime from the configured endpoint.
|
|
81
96
|
*/
|
|
82
97
|
const selfHosts = new Set();
|
|
98
|
+
|
|
99
|
+
/**
|
|
100
|
+
* Where the network tool looks for hosts it must not touch.
|
|
101
|
+
*
|
|
102
|
+
* A GLOBAL, not an import, because the dependency cannot go either way:
|
|
103
|
+
* `agent-core` ships with no dependencies at all, and `@buoy-gg/network` is
|
|
104
|
+
* optional — most apps that install Ask Buoy do not have it, and the ones that
|
|
105
|
+
* do may load it after. A well-known key is the only seam that works in both
|
|
106
|
+
* directions without either package requiring the other.
|
|
107
|
+
*
|
|
108
|
+
* Registering a host here means the interceptor passes its requests straight
|
|
109
|
+
* through: not captured, not overridable, and — the reason this exists — not
|
|
110
|
+
* held open while the interceptor reads the body. See `networkListener.ts`.
|
|
111
|
+
*/
|
|
112
|
+
const INTERNAL_HOSTS_KEY = "__BUOY_INTERNAL_HOSTS__";
|
|
83
113
|
export function registerSelfEndpoint(endpoint) {
|
|
84
114
|
try {
|
|
85
115
|
// No URL polyfill assumptions — a plain parse is enough for a host match.
|
|
86
116
|
const match = /^[a-z]+:\/\/([^/?#]+)/i.exec(endpoint);
|
|
87
|
-
if (match?.[1])
|
|
117
|
+
if (!match?.[1]) return;
|
|
118
|
+
const host = match[1].toLowerCase();
|
|
119
|
+
selfHosts.add(host);
|
|
120
|
+
const g = globalThis;
|
|
121
|
+
const existing = g[INTERNAL_HOSTS_KEY];
|
|
122
|
+
const hosts = existing instanceof Set ? existing : new Set();
|
|
123
|
+
hosts.add(host);
|
|
124
|
+
g[INTERNAL_HOSTS_KEY] = hosts;
|
|
88
125
|
} catch {
|
|
89
126
|
/* an unparseable endpoint just means no exclusion */
|
|
90
127
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["SECRET_KEYS","REDACTED","SECRET_VALUE_PATTERNS","re","label","scrubString","s","out","replace","isSecretKey","key","k","toLowerCase","some","
|
|
1
|
+
{"version":3,"names":["SECRET_KEYS","REDACTED","SECRET_VALUE_PATTERNS","re","label","scrubString","s","out","replace","isSecretKey","key","k","toLowerCase","some","includes","redact","value","depth","Array","isArray","map","v","Object","entries","selfHosts","Set","INTERNAL_HOSTS_KEY","registerSelfEndpoint","endpoint","match","exec","host","add","g","globalThis","existing","hosts","isSelfTraffic","url","lower","hasSelfUrl","item","rec","uri","href","stripSelfTraffic","filter"],"sourceRoot":"../../../src","sources":["policy/redact.ts"],"mappings":"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","ignoreList":[]}
|