@theokit/agents 8.7.0 → 9.0.0
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 +29 -1
- package/dist/hooks.d.ts +5 -5
- package/dist/hooks.js +36 -17
- package/dist/hooks.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,34 @@
|
|
|
1
1
|
# @theokit/agents
|
|
2
2
|
|
|
3
|
+
## 9.0.0
|
|
4
|
+
|
|
5
|
+
### Major Changes
|
|
6
|
+
|
|
7
|
+
- **`HookApprovalStore` passa a escopar aprovacoes por PROJETO. `scope` e obrigatorio.**
|
|
8
|
+
|
|
9
|
+
BREAKING: `approve`, `revoke`, `stateOf` e `approvedFingerprints` recebem o diretorio do projeto.
|
|
10
|
+
|
|
11
|
+
O store chaveava so pelo fingerprint, o que torna uma aprovacao valida na maquina inteira: um hook
|
|
12
|
+
aprovado trabalhando num repositorio ficava pre-aprovado ao abrir outro que a pessoa acabou de
|
|
13
|
+
clonar. O consumidor medido chaveia por `hooks[canonicalDir(dir)][fingerprint]` exatamente por isso —
|
|
14
|
+
e nao conseguia adotar este store sem ALARGAR a propria postura de seguranca, que e a unica direcao
|
|
15
|
+
que uma absorcao nunca pode tomar.
|
|
16
|
+
|
|
17
|
+
A lacuna apareceu ao TENTAR a migracao, nao ao revisar o desenho. Ela nao e de formato de dados: e
|
|
18
|
+
uma propriedade de seguranca que faltava aqui e existia la.
|
|
19
|
+
|
|
20
|
+
`scope` e OBRIGATORIO, pela mesma razao que `approved` e obrigatorio em `buildHookHandlers` — um
|
|
21
|
+
portao de seguranca opcional e um portao que alguem esquece, e esquecer este roda o comando de shell
|
|
22
|
+
de um estranho porque foi aprovado em outro lugar. Manter a assinatura antiga como sobrecarga
|
|
23
|
+
deixaria o caminho global disponivel, que e justamente o defeito.
|
|
24
|
+
|
|
25
|
+
O escopo e canonicalizado com `realpath`, a mesma regra de `PermissionStore` e `TrustStore`: `/repo`
|
|
26
|
+
e `/repo/` sao um diretorio e duas strings, e sem isso o operador aprova uma vez e e perguntado de
|
|
27
|
+
novo no mesmo projeto — que e como se aprende a aprovar sem ler.
|
|
28
|
+
|
|
29
|
+
`modified` continua distinguivel de `unknown` DENTRO do projeto. Num projeto que nunca aprovou nada
|
|
30
|
+
nao ha aprovacao por tras da qual algo possa ter mudado, entao a resposta la e `unknown`.
|
|
31
|
+
|
|
3
32
|
## 8.7.0
|
|
4
33
|
|
|
5
34
|
### Minor Changes
|
|
@@ -249,7 +278,6 @@
|
|
|
249
278
|
changesets recomputed them on top of a stale base. Publishing would have put a different artifact
|
|
250
279
|
under a version that already exists.
|
|
251
280
|
|
|
252
|
-
|
|
253
281
|
## 7.5.0
|
|
254
282
|
|
|
255
283
|
### Minor Changes
|
package/dist/hooks.d.ts
CHANGED
|
@@ -346,11 +346,11 @@ declare class HookApprovalStore {
|
|
|
346
346
|
*/
|
|
347
347
|
lastReadError?: Error;
|
|
348
348
|
constructor(options: HookApprovalStoreOptions);
|
|
349
|
-
/** The set `buildHookHandlers` takes as `approved
|
|
350
|
-
approvedFingerprints(): ReadonlySet<string>;
|
|
351
|
-
stateOf(identity: HookIdentity): ApprovalState;
|
|
352
|
-
approve(identity: HookIdentity): void;
|
|
353
|
-
revoke(identity: HookIdentity): void;
|
|
349
|
+
/** The set `buildHookHandlers` takes as `approved`, for ONE project. */
|
|
350
|
+
approvedFingerprints(scope: string): ReadonlySet<string>;
|
|
351
|
+
stateOf(identity: HookIdentity, scope: string): ApprovalState;
|
|
352
|
+
approve(identity: HookIdentity, scope: string): void;
|
|
353
|
+
revoke(identity: HookIdentity, scope: string): void;
|
|
354
354
|
}
|
|
355
355
|
|
|
356
356
|
export { type ApprovalState, type BuildHookHandlersOptions, CHAIN_BUDGET_MULTIPLIER, type CodePlugin, DEFAULT_CONTINUATION_BUDGET, DEFAULT_HOOK_TIMEOUT_MS, DRAIN_BUDGET_MS, HOOK_EVENTS, HookApprovalStore, type HookApprovalStoreOptions, type HookEvent, type HookIdentity, type HookRunInput, type HookRunResult, type HookSpec, HookSpecError, MAX_OUTPUT_BYTES, buildHookHandlers, fenceHookOutput, hookFingerprint, hookSpecSchema, hooksPlugin, inheritHooks, parseHookSpecs, runHookCommand };
|
package/dist/hooks.js
CHANGED
|
@@ -35,7 +35,7 @@ var MAX_OUTPUT_BYTES = 1048576;
|
|
|
35
35
|
var DRAIN_BUDGET_MS = 2e3;
|
|
36
36
|
var CHAIN_BUDGET_MULTIPLIER = 4;
|
|
37
37
|
async function runHookCommand(input) {
|
|
38
|
-
return new Promise((
|
|
38
|
+
return new Promise((resolve2) => {
|
|
39
39
|
const child = spawn(input.command, {
|
|
40
40
|
cwd: input.cwd,
|
|
41
41
|
shell: true,
|
|
@@ -74,7 +74,7 @@ async function runHookCommand(input) {
|
|
|
74
74
|
settled = true;
|
|
75
75
|
clearTimeout(timer);
|
|
76
76
|
clearTimeout(drainTimer);
|
|
77
|
-
|
|
77
|
+
resolve2({
|
|
78
78
|
exitCode,
|
|
79
79
|
stdout,
|
|
80
80
|
stderr,
|
|
@@ -391,11 +391,20 @@ function buildObservationalHandler(event, list, options, warn, chainBudgetMs) {
|
|
|
391
391
|
__name(buildObservationalHandler, "buildObservationalHandler");
|
|
392
392
|
|
|
393
393
|
// src/hooks/approval-store.ts
|
|
394
|
-
import {
|
|
394
|
+
import { realpathSync } from "fs";
|
|
395
|
+
import { join, resolve } from "path";
|
|
395
396
|
function slotOf(identity) {
|
|
396
397
|
return `${identity.event}${identity.matcher ?? ""}`;
|
|
397
398
|
}
|
|
398
399
|
__name(slotOf, "slotOf");
|
|
400
|
+
function canonicalScope(dir) {
|
|
401
|
+
try {
|
|
402
|
+
return realpathSync(dir);
|
|
403
|
+
} catch {
|
|
404
|
+
return resolve(dir);
|
|
405
|
+
}
|
|
406
|
+
}
|
|
407
|
+
__name(canonicalScope, "canonicalScope");
|
|
399
408
|
var HookApprovalStore = class {
|
|
400
409
|
static {
|
|
401
410
|
__name(this, "HookApprovalStore");
|
|
@@ -413,23 +422,31 @@ var HookApprovalStore = class {
|
|
|
413
422
|
constructor(options) {
|
|
414
423
|
this.path = join(options.home, ".theokit", "hook-approvals.json");
|
|
415
424
|
}
|
|
416
|
-
/** The set `buildHookHandlers` takes as `approved
|
|
417
|
-
approvedFingerprints() {
|
|
418
|
-
|
|
425
|
+
/** The set `buildHookHandlers` takes as `approved`, for ONE project. */
|
|
426
|
+
approvedFingerprints(scope) {
|
|
427
|
+
const key = canonicalScope(scope);
|
|
428
|
+
return new Set([
|
|
429
|
+
...this.#load().values()
|
|
430
|
+
].filter((r) => r.scope === key).map((r) => r.fingerprint));
|
|
419
431
|
}
|
|
420
|
-
stateOf(identity) {
|
|
421
|
-
const
|
|
422
|
-
|
|
432
|
+
stateOf(identity, scope) {
|
|
433
|
+
const key = canonicalScope(scope);
|
|
434
|
+
const inScope = [
|
|
435
|
+
...this.#load().values()
|
|
436
|
+
].filter((r) => r.scope === key);
|
|
437
|
+
if (inScope.some((r) => r.fingerprint === hookFingerprint(identity))) return "approved";
|
|
423
438
|
const slot = slotOf(identity);
|
|
424
|
-
for (const record of
|
|
439
|
+
for (const record of inScope) {
|
|
425
440
|
if (slotOf(record) === slot && record.command !== identity.command) return "modified";
|
|
426
441
|
}
|
|
427
442
|
return "unknown";
|
|
428
443
|
}
|
|
429
|
-
approve(identity) {
|
|
444
|
+
approve(identity, scope) {
|
|
445
|
+
const key = canonicalScope(scope);
|
|
430
446
|
const records = this.#load();
|
|
431
|
-
records.set(hookFingerprint(identity)
|
|
447
|
+
records.set(`${key}\0${hookFingerprint(identity)}`, {
|
|
432
448
|
fingerprint: hookFingerprint(identity),
|
|
449
|
+
scope: key,
|
|
433
450
|
command: identity.command,
|
|
434
451
|
event: identity.event,
|
|
435
452
|
...identity.matcher === void 0 ? {} : {
|
|
@@ -439,9 +456,11 @@ var HookApprovalStore = class {
|
|
|
439
456
|
});
|
|
440
457
|
this.#persist(records);
|
|
441
458
|
}
|
|
442
|
-
revoke(identity) {
|
|
459
|
+
revoke(identity, scope) {
|
|
443
460
|
const records = this.#load();
|
|
444
|
-
if (records.delete(hookFingerprint(identity)))
|
|
461
|
+
if (records.delete(`${canonicalScope(scope)}\0${hookFingerprint(identity)}`)) {
|
|
462
|
+
this.#persist(records);
|
|
463
|
+
}
|
|
445
464
|
}
|
|
446
465
|
/**
|
|
447
466
|
* Read from disk on every call rather than caching across instances.
|
|
@@ -456,9 +475,9 @@ var HookApprovalStore = class {
|
|
|
456
475
|
return parsed;
|
|
457
476
|
}, []);
|
|
458
477
|
this.lastReadError = error;
|
|
459
|
-
this.#records = new Map(value.map((
|
|
460
|
-
|
|
461
|
-
|
|
478
|
+
this.#records = new Map(value.map((r) => [
|
|
479
|
+
`${r.scope}\0${r.fingerprint}`,
|
|
480
|
+
r
|
|
462
481
|
]));
|
|
463
482
|
return this.#records;
|
|
464
483
|
}
|
package/dist/hooks.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/hooks/hook-spec.ts","../src/hooks/hook-fingerprint.ts","../src/hooks/hook-runner.ts","../src/hooks/approval-store.ts"],"mappings":"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","names":["randomBytes","TheokitAgentError","z","createHash","FIELD_SEPARATOR","hookFingerprint","identity","canonical","command","event","matcher","String","timeoutMs","join","createHash","update","digest","spawn","MAX_OUTPUT_BYTES","DRAIN_BUDGET_MS","CHAIN_BUDGET_MULTIPLIER","runHookCommand","input","Promise","resolve","child","spawn","command","cwd","shell","detached","env","stdio","stdout","stderr","truncated","timedOut","settled","capture","current","chunk","length","next","toString","slice","on","settle","exitCode","clearTimeout","timer","drainTimer","setTimeout","killGroup","pid","timeoutMs","undefined","code","stdin","end","process","kill","HOOK_EVENTS","DEFAULT_HOOK_TIMEOUT_MS","DEFAULT_CONTINUATION_BUDGET","hookSpecSchema","z","object","event","enum","command","string","min","refine","value","test","message","matcher","optional","timeout_ms","number","int","positive","default","strict","HookSpecError","TheokitAgentError","name","code","isRetryable","parseHookSpecs","input","parsed","array","safeParse","success","error","issues","map","issue","path","join","data","IGNORE_WARNING","undefined","WIRED_EVENTS","Set","buildHookHandlers","specs","options","warn","onWarn","trusted","length","String","fingerprintOf","fingerprint","hookFingerprint","runnable","filter","spec","approved","has","identityOf","handlers","chainBudgetMs","Math","max","CHAIN_BUDGET_MULTIPLIER","preHooks","pre_tool_call","ctx","started","Date","now","onVeto","tool","reason","block","matches","result","runHookCommand","cwd","timeoutMs","stdin","JSON","stringify","args","env","exitCode","fenceHookOutput","stdout","stderr","postHooks","post_tool_call","truncated","transformHooks","transform_tool_result","buildTransformHandler","OBSERVATIONAL_EVENTS","list","fire","buildObservationalHandler","on_session_start","post_assistant_reply","toolName","RegExp","output","nonce","randomBytes","toString","open","close","escaped","replaceAll","replace","remaining","continuationBudget","results","out","targets","toolCalls","call","feedback","trim","join","slotOf","identity","event","matcher","HookApprovalStore","path","lastReadError","options","join","home","approvedFingerprints","Set","keys","stateOf","records","has","hookFingerprint","slot","record","values","command","approve","set","fingerprint","undefined","approvedAt","Date","toISOString","revoke","delete","value","error","readSecureJson","raw","parsed","JSON","parse","Array","isArray","Error","Map","map","writeSecureJson","stringify"]}
|
|
1
|
+
{"version":3,"sources":["../src/hooks/hook-spec.ts","../src/hooks/hook-fingerprint.ts","../src/hooks/hook-runner.ts","../src/hooks/approval-store.ts"],"mappings":"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","names":["randomBytes","TheokitAgentError","z","createHash","FIELD_SEPARATOR","hookFingerprint","identity","canonical","command","event","matcher","String","timeoutMs","join","createHash","update","digest","spawn","MAX_OUTPUT_BYTES","DRAIN_BUDGET_MS","CHAIN_BUDGET_MULTIPLIER","runHookCommand","input","Promise","resolve","child","spawn","command","cwd","shell","detached","env","stdio","stdout","stderr","truncated","timedOut","settled","capture","current","chunk","length","next","toString","slice","on","settle","exitCode","clearTimeout","timer","drainTimer","setTimeout","killGroup","pid","timeoutMs","undefined","code","stdin","end","process","kill","HOOK_EVENTS","DEFAULT_HOOK_TIMEOUT_MS","DEFAULT_CONTINUATION_BUDGET","hookSpecSchema","z","object","event","enum","command","string","min","refine","value","test","message","matcher","optional","timeout_ms","number","int","positive","default","strict","HookSpecError","TheokitAgentError","name","code","isRetryable","parseHookSpecs","input","parsed","array","safeParse","success","error","issues","map","issue","path","join","data","IGNORE_WARNING","undefined","WIRED_EVENTS","Set","buildHookHandlers","specs","options","warn","onWarn","trusted","length","String","fingerprintOf","fingerprint","hookFingerprint","runnable","filter","spec","approved","has","identityOf","handlers","chainBudgetMs","Math","max","CHAIN_BUDGET_MULTIPLIER","preHooks","pre_tool_call","ctx","started","Date","now","onVeto","tool","reason","block","matches","result","runHookCommand","cwd","timeoutMs","stdin","JSON","stringify","args","env","exitCode","fenceHookOutput","stdout","stderr","postHooks","post_tool_call","truncated","transformHooks","transform_tool_result","buildTransformHandler","OBSERVATIONAL_EVENTS","list","fire","buildObservationalHandler","on_session_start","post_assistant_reply","toolName","RegExp","output","nonce","randomBytes","toString","open","close","escaped","replaceAll","replace","remaining","continuationBudget","results","out","targets","toolCalls","call","feedback","trim","realpathSync","join","resolve","slotOf","identity","event","matcher","canonicalScope","dir","realpathSync","resolve","HookApprovalStore","path","lastReadError","options","join","home","approvedFingerprints","scope","key","Set","values","filter","r","map","fingerprint","stateOf","inScope","some","hookFingerprint","slot","record","command","approve","records","set","undefined","approvedAt","Date","toISOString","revoke","delete","value","error","readSecureJson","raw","parsed","JSON","parse","Array","isArray","Error","Map","writeSecureJson","stringify"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@theokit/agents",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "9.0.0",
|
|
4
4
|
"description": "AI agents as first-class citizens of the TheoKit pipeline. The fluent agent()/tool() builders compile to SDK Agent.create() (M31 builder-only authoring API).",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"type": "module",
|