paqad-ai 1.3.0 → 1.4.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 +24 -0
- package/dist/cli/index.js +7 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/index.js +7 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/runtime/hooks/agent-entry-gate.sh +10 -38
- package/runtime/hooks/agent-entry-prompt-gate.sh +69 -0
- package/runtime/hooks/lib/agent-entry-sentinel.sh +60 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,29 @@
|
|
|
1
1
|
# paqad-ai
|
|
2
2
|
|
|
3
|
+
## 1.4.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [#75](https://github.com/Eliyce/paqad-ai/pull/75) [`283d973`](https://github.com/Eliyce/paqad-ai/commit/283d9736621e7571013a377408a8ec6416b54df9) Thanks [@HLasani](https://github.com/HLasani)! - Gate every agent turn on the entry-file load, not just code-mutating tool
|
|
8
|
+
calls. Onboarded projects previously could answer read-only prompts (Q&A,
|
|
9
|
+
"what is this project", explanations) without loading `CLAUDE.md`,
|
|
10
|
+
`.paqad/framework-path.txt`, or `docs/instructions/{rules,stack,design-system}`
|
|
11
|
+
— the framework's rules and Decision Pause Contract silently never entered
|
|
12
|
+
context.
|
|
13
|
+
|
|
14
|
+
The Claude Code adapter now installs a `UserPromptSubmit` hook
|
|
15
|
+
(`runtime/hooks/agent-entry-prompt-gate.sh`) alongside the existing
|
|
16
|
+
`PreToolUse` hook. Both gates share sentinel-freshness logic via
|
|
17
|
+
`runtime/hooks/lib/agent-entry-sentinel.sh` so they cannot drift.
|
|
18
|
+
|
|
19
|
+
Soft mode (default): the hook prints a high-priority reminder on stdout; Claude
|
|
20
|
+
Code injects it into the model context before the turn is planned. Hard mode
|
|
21
|
+
(`PAQAD_AGENT_ENTRY_MODE=hard`): the hook exits non-zero and blocks the turn
|
|
22
|
+
until the sentinel is written.
|
|
23
|
+
|
|
24
|
+
Re-running onboarding / `paqad upgrade` refreshes the wiring in
|
|
25
|
+
`.claude/settings.json` idempotently. Resolves Eliyce/paqad-ai#74.
|
|
26
|
+
|
|
3
27
|
## 1.3.0
|
|
4
28
|
|
|
5
29
|
### Minor Changes
|
package/dist/cli/index.js
CHANGED
|
@@ -6355,6 +6355,7 @@ init_esm_shims();
|
|
|
6355
6355
|
import { existsSync as existsSync4, readFileSync as readFileSync3 } from "fs";
|
|
6356
6356
|
import { join as join6 } from "path";
|
|
6357
6357
|
var AGENT_ENTRY_GATE_SCRIPT = "~/.paqad-ai/current/hooks/agent-entry-gate.sh";
|
|
6358
|
+
var AGENT_ENTRY_PROMPT_GATE_SCRIPT = "~/.paqad-ai/current/hooks/agent-entry-prompt-gate.sh";
|
|
6358
6359
|
var AGENT_ENTRY_SESSION_START_SCRIPT = "~/.paqad-ai/current/hooks/agent-entry-session-start.sh";
|
|
6359
6360
|
var ClaudeCodeAdapter = class extends BaseAdapter {
|
|
6360
6361
|
type = "claude-code";
|
|
@@ -6418,6 +6419,11 @@ function mergeAgentEntryGate(existing) {
|
|
|
6418
6419
|
hooks: [{ type: "command", command: AGENT_ENTRY_GATE_SCRIPT }]
|
|
6419
6420
|
}
|
|
6420
6421
|
]),
|
|
6422
|
+
UserPromptSubmit: mergeHookList(hooks.UserPromptSubmit, [
|
|
6423
|
+
{
|
|
6424
|
+
hooks: [{ type: "command", command: AGENT_ENTRY_PROMPT_GATE_SCRIPT }]
|
|
6425
|
+
}
|
|
6426
|
+
]),
|
|
6421
6427
|
SessionStart: mergeHookList(hooks.SessionStart, [
|
|
6422
6428
|
{
|
|
6423
6429
|
hooks: [{ type: "command", command: AGENT_ENTRY_SESSION_START_SCRIPT }]
|
|
@@ -27992,7 +27998,7 @@ init_esm_shims();
|
|
|
27992
27998
|
init_esm_shims();
|
|
27993
27999
|
|
|
27994
28000
|
// src/index.ts
|
|
27995
|
-
var VERSION = "1.
|
|
28001
|
+
var VERSION = "1.4.0";
|
|
27996
28002
|
|
|
27997
28003
|
// src/cli/commands/capabilities.ts
|
|
27998
28004
|
init_esm_shims();
|