opensquid 0.5.412 → 0.5.432
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/dist/channels/env-token.js +2 -2
- package/dist/channels/env-token.js.map +1 -1
- package/dist/cli.js +4 -1
- package/dist/cli.js.map +1 -1
- package/dist/functions/event.d.ts.map +1 -1
- package/dist/functions/event.js +30 -0
- package/dist/functions/event.js.map +1 -1
- package/dist/functions/index.d.ts +2 -0
- package/dist/functions/index.d.ts.map +1 -1
- package/dist/functions/index.js +2 -0
- package/dist/functions/index.js.map +1 -1
- package/dist/functions/read_rubric.d.ts +27 -0
- package/dist/functions/read_rubric.d.ts.map +1 -0
- package/dist/functions/read_rubric.js +53 -0
- package/dist/functions/read_rubric.js.map +1 -0
- package/dist/functions/rubric_pre_inject.d.ts +22 -0
- package/dist/functions/rubric_pre_inject.d.ts.map +1 -0
- package/dist/functions/rubric_pre_inject.js +58 -0
- package/dist/functions/rubric_pre_inject.js.map +1 -0
- package/dist/functions/session_status_manifest.d.ts.map +1 -1
- package/dist/functions/session_status_manifest.js +15 -0
- package/dist/functions/session_status_manifest.js.map +1 -1
- package/dist/functions/shell_parse.d.ts +41 -0
- package/dist/functions/shell_parse.d.ts.map +1 -0
- package/dist/functions/shell_parse.js +185 -0
- package/dist/functions/shell_parse.js.map +1 -0
- package/dist/mcp/server.js +14 -1
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/tools/memorize.d.ts +3 -0
- package/dist/mcp/tools/memorize.d.ts.map +1 -1
- package/dist/mcp/tools/memorize.js +8 -0
- package/dist/mcp/tools/memorize.js.map +1 -1
- package/dist/mcp/tools/ralph.d.ts +21 -0
- package/dist/mcp/tools/ralph.d.ts.map +1 -0
- package/dist/mcp/tools/ralph.js +18 -0
- package/dist/mcp/tools/ralph.js.map +1 -0
- package/dist/mcp/tools/workgraph.d.ts +11 -0
- package/dist/mcp/tools/workgraph.d.ts.map +1 -1
- package/dist/mcp/tools/workgraph.js +7 -0
- package/dist/mcp/tools/workgraph.js.map +1 -1
- package/dist/rag/backends/libsql_store.d.ts.map +1 -1
- package/dist/rag/backends/libsql_store.js +13 -5
- package/dist/rag/backends/libsql_store.js.map +1 -1
- package/dist/rag/backends/perfile_source.d.ts.map +1 -1
- package/dist/rag/backends/perfile_source.js +6 -0
- package/dist/rag/backends/perfile_source.js.map +1 -1
- package/dist/rag/durability.d.ts +26 -0
- package/dist/rag/durability.d.ts.map +1 -0
- package/dist/rag/durability.js +34 -0
- package/dist/rag/durability.js.map +1 -0
- package/dist/rag/memory/store.d.ts.map +1 -1
- package/dist/rag/memory/store.js +11 -3
- package/dist/rag/memory/store.js.map +1 -1
- package/dist/rag/types.d.ts +3 -0
- package/dist/rag/types.d.ts.map +1 -1
- package/dist/rag/types.js.map +1 -1
- package/dist/runtime/agent_bridge/daemon.d.ts.map +1 -1
- package/dist/runtime/agent_bridge/daemon.js +9 -6
- package/dist/runtime/agent_bridge/daemon.js.map +1 -1
- package/dist/runtime/bootstrap.d.ts.map +1 -1
- package/dist/runtime/bootstrap.js +4 -0
- package/dist/runtime/bootstrap.js.map +1 -1
- package/dist/runtime/ralph/decision_classifier.d.ts +18 -0
- package/dist/runtime/ralph/decision_classifier.d.ts.map +1 -0
- package/dist/runtime/ralph/decision_classifier.js +72 -0
- package/dist/runtime/ralph/decision_classifier.js.map +1 -0
- package/dist/runtime/ralph/escalate_lap.d.ts +31 -0
- package/dist/runtime/ralph/escalate_lap.d.ts.map +1 -0
- package/dist/runtime/ralph/escalate_lap.js +22 -0
- package/dist/runtime/ralph/escalate_lap.js.map +1 -0
- package/dist/runtime/ralph/escalator.d.ts +34 -0
- package/dist/runtime/ralph/escalator.d.ts.map +1 -0
- package/dist/runtime/ralph/escalator.js +19 -0
- package/dist/runtime/ralph/escalator.js.map +1 -0
- package/dist/runtime/ralph/lap_outcome.d.ts +43 -0
- package/dist/runtime/ralph/lap_outcome.d.ts.map +1 -0
- package/dist/runtime/ralph/lap_outcome.js +119 -0
- package/dist/runtime/ralph/lap_outcome.js.map +1 -0
- package/dist/runtime/ralph/orchestrator.d.ts +71 -0
- package/dist/runtime/ralph/orchestrator.d.ts.map +1 -0
- package/dist/runtime/ralph/orchestrator.js +74 -0
- package/dist/runtime/ralph/orchestrator.js.map +1 -0
- package/dist/runtime/ralph/ralph_template.d.ts +18 -0
- package/dist/runtime/ralph/ralph_template.d.ts.map +1 -0
- package/dist/runtime/ralph/ralph_template.js +61 -0
- package/dist/runtime/ralph/ralph_template.js.map +1 -0
- package/dist/runtime/ralph/supervisor.d.ts +30 -0
- package/dist/runtime/ralph/supervisor.d.ts.map +1 -0
- package/dist/runtime/ralph/supervisor.js +24 -0
- package/dist/runtime/ralph/supervisor.js.map +1 -0
- package/dist/setup/cli/chat_actions.js +1 -1
- package/dist/setup/cli/chat_actions.js.map +1 -1
- package/dist/setup/cli/chat_actions_prompts_alias.js +4 -1
- package/dist/setup/cli/chat_actions_prompts_alias.js.map +1 -1
- package/dist/setup/cli/chat_actions_test_step.js +2 -2
- package/dist/setup/cli/chat_actions_test_step.js.map +1 -1
- package/dist/setup/cli/chat_state.d.ts.map +1 -1
- package/dist/setup/cli/chat_state.js +3 -2
- package/dist/setup/cli/chat_state.js.map +1 -1
- package/dist/setup/cli/mcp.d.ts +1 -1
- package/dist/setup/cli/mcp.d.ts.map +1 -1
- package/dist/setup/cli/mcp.js +7 -8
- package/dist/setup/cli/mcp.js.map +1 -1
- package/dist/setup/cli/ralph.d.ts +20 -0
- package/dist/setup/cli/ralph.d.ts.map +1 -0
- package/dist/setup/cli/ralph.js +180 -0
- package/dist/setup/cli/ralph.js.map +1 -0
- package/dist/setup/wizard/mcp-writer.d.ts +3 -3
- package/dist/setup/wizard/mcp-writer.d.ts.map +1 -1
- package/dist/setup/wizard/mcp-writer.js +17 -0
- package/dist/setup/wizard/mcp-writer.js.map +1 -1
- package/dist/setup/wizard/ralph_writer.d.ts +98 -0
- package/dist/setup/wizard/ralph_writer.d.ts.map +1 -0
- package/dist/setup/wizard/ralph_writer.js +114 -0
- package/dist/setup/wizard/ralph_writer.js.map +1 -0
- package/dist/workgraph/audience.d.ts +12 -0
- package/dist/workgraph/audience.d.ts.map +1 -0
- package/dist/workgraph/audience.js +10 -0
- package/dist/workgraph/audience.js.map +1 -0
- package/dist/workgraph/events.d.ts.map +1 -1
- package/dist/workgraph/events.js +34 -0
- package/dist/workgraph/events.js.map +1 -1
- package/dist/workgraph/store.d.ts.map +1 -1
- package/dist/workgraph/store.js +86 -12
- package/dist/workgraph/store.js.map +1 -1
- package/dist/workgraph/types.d.ts +33 -2
- package/dist/workgraph/types.d.ts.map +1 -1
- package/docs/rubric/author.md +17 -0
- package/docs/rubric/scope.md +16 -0
- package/package.json +4 -3
- package/packs/builtin/coding-flow/skills/entry-and-handoffs/skill.yaml +9 -0
- package/packs/builtin/coding-flow/skills/execute-gate/skill.yaml +19 -12
- package/packs/builtin/coding-flow/skills/scope-lifecycle/skill.yaml +67 -50
- package/packs/builtin/default-discipline/manifest.yaml +6 -3
- package/packs/builtin/default-discipline/skills/workflow/skill.yaml +7 -3
- package/packs/builtin/pack-architect/SKILL.md +10 -0
- package/packs/builtin/pack-architect/skills/skill-yaml-author-walkthrough/skill.yaml +7 -0
- package/packs/builtin/scope-architect/team.yaml +5 -2
- package/schemas/manifest.schema.json +45 -203
- package/schemas/models.schema.json +3 -13
- package/schemas/notifications.schema.json +6 -24
- package/schemas/skill.schema.json +33 -120
- package/schemas/team.schema.json +46 -0
|
@@ -73,8 +73,8 @@ export async function locateEnvFile() {
|
|
|
73
73
|
const fromEnv = process.env.OPENSQUID_ENV_FILE;
|
|
74
74
|
if (fromEnv !== undefined && fromEnv.length > 0)
|
|
75
75
|
candidates.push(fromEnv);
|
|
76
|
-
candidates.push(join(
|
|
77
|
-
candidates.push(join(
|
|
76
|
+
candidates.push(join(OPENSQUID_HOME(), '.env')); // canonical (read-both: preferred)
|
|
77
|
+
candidates.push(join(homedir(), '.loop', '.env')); // legacy fallback (loop→opensquid rename; no token loss)
|
|
78
78
|
candidates.push(join(process.cwd(), '.env'));
|
|
79
79
|
for (const c of candidates) {
|
|
80
80
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env-token.js","sourceRoot":"","sources":["../../src/channels/env-token.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAiBrD,8EAA8E;AAC9E,IAAI,YAAY,GAA4D,IAAI,CAAC;AAEjF;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,GAAW,EACX,kBAAsC;IAEtC,iBAAiB;IACjB,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAChC,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrD,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IACjD,CAAC;IAED,eAAe;IACf,MAAM,OAAO,GAAG,MAAM,aAAa,EAAE,CAAC;IACtC,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,CAAC;QAC1C,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvD,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC;QAC/E,CAAC;IACH,CAAC;IAED,0BAA0B;IAC1B,IAAI,kBAAkB,KAAK,SAAS,IAAI,kBAAkB,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7E,OAAO,EAAE,KAAK,EAAE,kBAAkB,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;IACrE,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;AACjD,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa;IACjC,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;IAC/C,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;QAAE,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC1E,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"env-token.js","sourceRoot":"","sources":["../../src/channels/env-token.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.js
CHANGED
|
@@ -43,6 +43,7 @@ import { registerLimits } from './setup/cli/limits.js';
|
|
|
43
43
|
import { registerSetupWizardMcp } from './setup/cli/mcp.js';
|
|
44
44
|
import { registerMemory } from './setup/cli/memory.js';
|
|
45
45
|
import { registerPermissions } from './setup/cli/permissions.js';
|
|
46
|
+
import { registerRalph } from './setup/cli/ralph.js';
|
|
46
47
|
import { registerSchedule } from './setup/cli/schedule.js';
|
|
47
48
|
import { registerTraceCommand } from './setup/cli/trace.js';
|
|
48
49
|
import { registerTriggers } from './setup/cli/triggers.js';
|
|
@@ -113,7 +114,8 @@ function runCli() {
|
|
|
113
114
|
const program = new Command()
|
|
114
115
|
.name('opensquid')
|
|
115
116
|
.description('Tracks for your AI agent — destination-first.')
|
|
116
|
-
|
|
117
|
+
// wg-798ce60dbb13: bind the conventional lowercase `-v` (commander's default is `-V` only).
|
|
118
|
+
.version(readPackageVersion(), '-v, --version');
|
|
117
119
|
const daemon = program.command('daemon').description('Background daemon lifecycle');
|
|
118
120
|
daemon
|
|
119
121
|
.command('status')
|
|
@@ -165,6 +167,7 @@ function runCli() {
|
|
|
165
167
|
// declared in pack manifests). No dispatcher wired here yet — `run` records
|
|
166
168
|
// a force-fire entry and the daemon picks it up via subsequent integration.
|
|
167
169
|
registerSchedule(program);
|
|
170
|
+
registerRalph(program);
|
|
168
171
|
// OBSERVE.2 — `opensquid trace <runId> | tail | export <runId>`.
|
|
169
172
|
// Registered via a sibling module to keep the verb tree's commander wiring
|
|
170
173
|
// + libsql client lifecycle ownership out of `cli.ts`.
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACxF,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,6EAA6E;AAC7E,6EAA6E;AAC7E,2EAA2E;AAC3E,8EAA8E;AAC9E,6EAA6E;AAC7E,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,oBAAoB,EAAE,CAAC;IAC7C,KAAK,wBAAwB,EAAE,CAAC;AAClC,CAAC;KAAM,CAAC;IACN,MAAM,EAAE,CAAC;AACX,CAAC;AAED;;6EAE6E;AAC7E,SAAS,kBAAkB;IACzB,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChE,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAAyB,CAAC;QACrF,OAAO,MAAM,CAAC,OAAO,IAAI,OAAO,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,CAAC;IACjB,CAAC;AACH,CAAC;AAED;;;;uEAIuE;AACvE,SAAS,iBAAiB,CAAC,OAAe;IACxC,sEAAsE;IACtE,uEAAuE;IACvE,qEAAqE;IACrE,sEAAsE;IACtE,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ;QAAE,OAAO;IACzC,KAAK,CAAC,KAAK,IAAI,EAAE;QACf,IAAI,CAAC;YACH,MAAM,EAAE,eAAe,EAAE,gBAAgB,EAAE,UAAU,EAAE,OAAO,EAAE,GAC9D,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC;YAC5C,MAAM,KAAK,GAAG,MAAM,eAAe,EAAE,CAAC;YACtC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;YAC7C,IAAI,IAAI,KAAK,IAAI,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACpC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC;gBAClC,MAAM,gBAAgB,CAAC,EAAE,GAAG,KAAK,EAAE,WAAW,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;YACjF,CAAC;YACD,IAAI,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,KAAK,GAAG,EAAE,CAAC;gBAClE,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;gBACrD,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC;gBACnD,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,cAAc,CAAC,EAAE;oBAClF,QAAQ,EAAE,IAAI;oBACd,KAAK,EAAE,QAAQ;iBAChB,CAAC,CAAC,KAAK,EAAE,CAAC;YACb,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,+CAA+C;QACjD,CAAC;IACH,CAAC,CAAC,EAAE,CAAC;AACP,CAAC;AAED,SAAS,MAAM;IACb,iBAAiB,CAAC,kBAAkB,EAAE,CAAC,CAAC;IACxC,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE;SAC1B,IAAI,CAAC,WAAW,CAAC;SACjB,WAAW,CAAC,+CAA+C,CAAC;
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACxF,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,6EAA6E;AAC7E,6EAA6E;AAC7E,2EAA2E;AAC3E,8EAA8E;AAC9E,6EAA6E;AAC7E,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,oBAAoB,EAAE,CAAC;IAC7C,KAAK,wBAAwB,EAAE,CAAC;AAClC,CAAC;KAAM,CAAC;IACN,MAAM,EAAE,CAAC;AACX,CAAC;AAED;;6EAE6E;AAC7E,SAAS,kBAAkB;IACzB,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChE,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAAyB,CAAC;QACrF,OAAO,MAAM,CAAC,OAAO,IAAI,OAAO,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,CAAC;IACjB,CAAC;AACH,CAAC;AAED;;;;uEAIuE;AACvE,SAAS,iBAAiB,CAAC,OAAe;IACxC,sEAAsE;IACtE,uEAAuE;IACvE,qEAAqE;IACrE,sEAAsE;IACtE,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ;QAAE,OAAO;IACzC,KAAK,CAAC,KAAK,IAAI,EAAE;QACf,IAAI,CAAC;YACH,MAAM,EAAE,eAAe,EAAE,gBAAgB,EAAE,UAAU,EAAE,OAAO,EAAE,GAC9D,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC;YAC5C,MAAM,KAAK,GAAG,MAAM,eAAe,EAAE,CAAC;YACtC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;YAC7C,IAAI,IAAI,KAAK,IAAI,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACpC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC;gBAClC,MAAM,gBAAgB,CAAC,EAAE,GAAG,KAAK,EAAE,WAAW,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;YACjF,CAAC;YACD,IAAI,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,KAAK,GAAG,EAAE,CAAC;gBAClE,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;gBACrD,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC;gBACnD,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,cAAc,CAAC,EAAE;oBAClF,QAAQ,EAAE,IAAI;oBACd,KAAK,EAAE,QAAQ;iBAChB,CAAC,CAAC,KAAK,EAAE,CAAC;YACb,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,+CAA+C;QACjD,CAAC;IACH,CAAC,CAAC,EAAE,CAAC;AACP,CAAC;AAED,SAAS,MAAM;IACb,iBAAiB,CAAC,kBAAkB,EAAE,CAAC,CAAC;IACxC,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE;SAC1B,IAAI,CAAC,WAAW,CAAC;SACjB,WAAW,CAAC,+CAA+C,CAAC;QAC7D,4FAA4F;SAC3F,OAAO,CAAC,kBAAkB,EAAE,EAAE,eAAe,CAAC,CAAC;IAElD,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,6BAA6B,CAAC,CAAC;IAEpF,MAAM;SACH,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,gEAAgE,CAAC;SAC7E,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,qEAAqE;QACrE,+DAA+D;QAC/D,MAAM,QAAQ,GAAG,IAAI,eAAe,CAAC;YACnC,KAAK,EAAE,EAAE;YACT,aAAa,EAAE,EAAE;YACjB,QAAQ,EAAE,KAAK,IAAI,EAAE;gBACnB,mCAAmC;YACrC,CAAC;SACF,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,EAAE,CAAC;QACvC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,wBAAwB,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,eAAe,MAAM,CACpE,MAAM,CAAC,aAAa,IAAI,GAAG,CAC5B,kBAAkB,MAAM,CAAC,MAAM,CAAC,WAAW,IAAI,GAAG,CAAC,KAAK,CAC1D,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,uCAAuC,aAAa,EAAE,KAAK,CAAC,CAAC;QACpF,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,MAAM;SACH,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,yEAAyE,CAAC;SACtF,MAAM,CAAC,GAAG,EAAE;QACX,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,6FAA6F,CAC9F,CAAC;QACF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvB,CAAC,CAAC,CAAC;IAEL,MAAM;SACH,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,oDAAoD,CAAC;SACjE,MAAM,CAAC,GAAG,EAAE;QACX,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,4FAA4F,CAC7F,CAAC;QACF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvB,CAAC,CAAC,CAAC;IAEL,MAAM;SACH,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,uDAAuD,CAAC;SACpE,MAAM,CAAC,GAAG,EAAE;QACX,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,+FAA+F,CAChG,CAAC;QACF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvB,CAAC,CAAC,CAAC;IAEL,8EAA8E;IAC9E,uEAAuE;IACvE,6EAA6E;IAC7E,oEAAoE;IACpE,2EAA2E;IAC3E,4EAA4E;IAC5E,4EAA4E;IAC5E,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC1B,aAAa,CAAC,OAAO,CAAC,CAAC;IAEvB,iEAAiE;IACjE,2EAA2E;IAC3E,uDAAuD;IACvD,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAE9B,2EAA2E;IAC3E,qEAAqE;IACrE,qEAAqE;IACrE,qEAAqE;IACrE,yEAAyE;IACzE,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAE1B,uEAAuE;IACvE,yEAAyE;IACzE,wEAAwE;IACxE,oEAAoE;IACpE,oEAAoE;IACpE,8DAA8D;IAC9D,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAE1B,wEAAwE;IACxE,uEAAuE;IACvE,qEAAqE;IACrE,+DAA+D;IAC/D,iEAAiE;IACjE,oEAAoE;IACpE,sEAAsE;IACtE,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAE7B,6EAA6E;IAC7E,uEAAuE;IACvE,wEAAwE;IACxE,uEAAuE;IACvE,uDAAuD;IACvD,aAAa,CAAC,OAAO,CAAC,CAAC;IAEvB,sEAAsE;IACtE,8EAA8E;IAC9E,wEAAwE;IACxE,uEAAuE;IACvE,0EAA0E;IAC1E,wEAAwE;IACxE,uEAAuE;IACvE,2DAA2D;IAC3D,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAE7B,2EAA2E;IAC3E,0EAA0E;IAC1E,0EAA0E;IAC1E,0EAA0E;IAC1E,mEAAmE;IACnE,aAAa,CAAC,OAAO,CAAC,CAAC;IAEvB,yEAAyE;IACzE,wEAAwE;IACxE,sEAAsE;IACtE,wEAAwE;IACxE,2EAA2E;IAC3E,sEAAsE;IACtE,qEAAqE;IACrE,2EAA2E;IAC3E,YAAY,CAAC,OAAO,CAAC,CAAC;IACtB,cAAc,CAAC,OAAO,CAAC,CAAC;IAExB,uEAAuE;IACvE,qEAAqE;IACrE,4EAA4E;IAC5E,sEAAsE;IACtE,0EAA0E;IAC1E,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAE5B,0EAA0E;IAC1E,wEAAwE;IACxE,yEAAyE;IACzE,uEAAuE;IACvE,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IAE1C,wEAAwE;IACxE,sEAAsE;IACtE,uEAAuE;IACvE,wEAAwE;IACxE,kEAAkE;IAClE,+CAA+C;IAC/C,MAAM,WAAW,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;IAEpD,sEAAsE;IACtE,sEAAsE;IACtE,sEAAsE;IACtE,qDAAqD;IACrD,wBAAwB,CAAC,WAAW,CAAC,CAAC;IAEtC,4EAA4E;IAC5E,4EAA4E;IAC5E,mDAAmD;IACnD,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAE7B,wEAAwE;IACxE,yEAAyE;IACzE,sEAAsE;IACtE,2EAA2E;IAC3E,uEAAuE;IACvE,yEAAyE;IACzE,uEAAuE;IACvE,sBAAsB,CAAC,WAAW,CAAC,CAAC;IAEpC,4EAA4E;IAC5E,0EAA0E;IAC1E,0EAA0E;IAC1E,2EAA2E;IAC3E,0EAA0E;IAC1E,sEAAsE;IACtE,cAAc,CAAC,OAAO,CAAC,CAAC;IAExB,sEAAsE;IACtE,yEAAyE;IACzE,yEAAyE;IACzE,mCAAmC;IACnC,cAAc,CAAC,OAAO,CAAC,CAAC;IAExB,oFAAoF;IACpF,wFAAwF;IACxF,mFAAmF;IACnF,uFAAuF;IACvF,6EAA6E;IAC7E,YAAY,CAAC,OAAO,CAAC,CAAC;IAEtB,+EAA+E;IAC/E,wEAAwE;IACxE,0EAA0E;IAC1E,2EAA2E;IAC3E,wEAAwE;IACxE,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAE7B,6EAA6E;IAC7E,yEAAyE;IACzE,2EAA2E;IAC3E,mEAAmE;IACnE,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAE3B,8EAA8E;IAC9E,+EAA+E;IAC/E,8EAA8E;IAC9E,8EAA8E;IAC9E,yEAAyE;IACzE,uEAAuE;IACvE,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAE5B,4EAA4E;IAC5E,4EAA4E;IAC5E,qEAAqE;IACrE,eAAe,CAAC,OAAO,CAAC,CAAC;IAEzB,6EAA6E;IAC7E,+EAA+E;IAC/E,6EAA6E;IAC7E,iFAAiF;IACjF,8DAA8D;IAC9D,cAAc,CAAC,OAAO,CAAC,CAAC;IAExB,4FAA4F;IAC5F,mGAAmG;IACnG,OAAO;SACJ,OAAO,CAAC,kBAAkB,CAAC;SAC3B,WAAW,CACV,wFAAwF,CACzF;SACA,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,MAAM,GAAG,GAAG,MAAM,oBAAoB,EAAE,CAAC;QACzC,IAAI,GAAG,CAAC,IAAI,KAAK,kBAAkB,IAAI,GAAG,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACnE,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,gFAAgF;gBAC9E,QAAQ,GAAG,CAAC,IAAI,kDAAkD,CACrE,CAAC;YACF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO;QACT,CAAC;QACD,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,eAAe,CAAC;YACzC,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE,EAAE,UAAU,CAAC;YAC1C,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,QAAQ,EAAE,iBAAiB,EAAE;SAC9B,CAAC,CAAC;QACH,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,QAAQ,kBAAkB,GAAG,CAAC,SAAS,IAAI,CAAC,CAAC;IAChF,CAAC,CAAC,CAAC;IAEL,0EAA0E;IAC1E,kGAAkG;IAClG,mGAAmG;IACnG,OAAO;SACJ,OAAO,CAAC,iBAAiB,CAAC;SAC1B,WAAW,CACV,2FAA2F,CAC5F;SACA,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,mBAAmB,CAAC;YAC7C,KAAK,EAAE,iBAAiB,EAAE;YAC1B,SAAS,EAAE,eAAe,EAAE;SAC7B,CAAC,CAAC;QACH,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,QAAQ,sCAAsC,CAAC,CAAC;IACnF,CAAC,CAAC,CAAC;IAEL,wEAAwE;IACxE,wEAAwE;IACxE,uEAAuE;IACvE,yBAAyB;IACzB,OAAO;SACJ,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CACV,iGAAiG,CAClG;SACA,MAAM,CACL,gBAAgB,EAChB,8EAA8E,CAC/E;SACA,MAAM,CACL,WAAW,EACX,sEAAsE,EACtE,KAAK,CACN;SACA,MAAM,CAAC,KAAK,EAAE,IAA6C,EAAE,EAAE;QAC9D,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;QAClE,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAC,+BAA+B,CAAC,CAAC;QAC7E,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAC1B,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,IAAI,CAAC;QACrE,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,EAAE,EAAE,CAAC;YACpD,+EAA+E;YAC/E,GAAG,GAAG,MAAM,kBAAkB,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;QACnD,CAAC;QACD,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,EAAE,EAAE,CAAC;YAC/B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,0DAA0D,CAAC,CAAC;YACjF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO;QACT,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC,CAAC;QAC9E,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YAChC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC;QAChF,CAAC;QACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEL,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;QACtD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACzF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event.d.ts","sourceRoot":"","sources":["../../src/functions/event.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;
|
|
1
|
+
{"version":3,"file":"event.d.ts","sourceRoot":"","sources":["../../src/functions/event.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAOH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AA2CtD,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CAuHvE"}
|
package/dist/functions/event.js
CHANGED
|
@@ -32,6 +32,7 @@
|
|
|
32
32
|
*/
|
|
33
33
|
import { z } from 'zod';
|
|
34
34
|
import { err, ok } from '../runtime/result.js';
|
|
35
|
+
import { commandInvokes } from './shell_parse.js';
|
|
35
36
|
// ---------------------------------------------------------------------------
|
|
36
37
|
// Zod arg schemas — `.strict()` on EmptyArgs so unexpected keys become
|
|
37
38
|
// `arg_invalid` at registry-call time (better than silently ignoring typos
|
|
@@ -43,6 +44,15 @@ const MatchCommandArgs = z.object({
|
|
|
43
44
|
pattern: z.string(),
|
|
44
45
|
target: z.string().optional(),
|
|
45
46
|
});
|
|
47
|
+
// command_invokes args: gate on a real `program` invocation (+ optional subcommand /
|
|
48
|
+
// flag). `.strict()` so a YAML typo surfaces as arg_invalid (matches EmptyArgs).
|
|
49
|
+
const CommandInvokesArgs = z
|
|
50
|
+
.object({
|
|
51
|
+
program: z.string(),
|
|
52
|
+
subcommand: z.string().optional(),
|
|
53
|
+
flag_any: z.array(z.string()).optional(),
|
|
54
|
+
})
|
|
55
|
+
.strict();
|
|
46
56
|
// ---------------------------------------------------------------------------
|
|
47
57
|
// resolveCommandField — shallow `tool_args.<field>` lookup for match_command.
|
|
48
58
|
//
|
|
@@ -160,5 +170,25 @@ export function registerEventFunctions(registry) {
|
|
|
160
170
|
return ok(regex.test(command));
|
|
161
171
|
},
|
|
162
172
|
});
|
|
173
|
+
// command_invokes — the STRUCTURAL replacement for the git-matcher use of
|
|
174
|
+
// `match_command` (wg-52e57e2ed252). Instead of regex-testing the raw command
|
|
175
|
+
// string (which false-fires on `git commit` inside a grep pattern / echo arg /
|
|
176
|
+
// quoted subprocess prompt), it parses the command into real shell segments
|
|
177
|
+
// and gates on whether any segment INVOKES `program` (basename) with the
|
|
178
|
+
// optional subcommand + flag. Pure delegate to `shell_parse.commandInvokes`.
|
|
179
|
+
// Wrong-kind → ok(false), matching `match_command`.
|
|
180
|
+
registry.register({
|
|
181
|
+
name: 'command_invokes',
|
|
182
|
+
argSchema: CommandInvokesArgs,
|
|
183
|
+
durable: false,
|
|
184
|
+
memoizable: false,
|
|
185
|
+
costEstimateMs: 0.1,
|
|
186
|
+
execute: async ({ program, subcommand, flag_any }, ctx) => {
|
|
187
|
+
if (ctx.event.kind !== 'tool_call')
|
|
188
|
+
return ok(false);
|
|
189
|
+
const command = resolveCommandField(ctx.event.args, undefined);
|
|
190
|
+
return ok(commandInvokes(command, { program, subcommand, flagAny: flag_any }));
|
|
191
|
+
},
|
|
192
|
+
});
|
|
163
193
|
}
|
|
164
194
|
//# sourceMappingURL=event.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event.js","sourceRoot":"","sources":["../../src/functions/event.ts"],"names":[],"mappings":"AAAA,qDAAqD;AACrD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"event.js","sourceRoot":"","sources":["../../src/functions/event.ts"],"names":[],"mappings":"AAAA,qDAAqD;AACrD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,sBAAsB,CAAC;AAE/C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGlD,8EAA8E;AAC9E,uEAAuE;AACvE,2EAA2E;AAC3E,yEAAyE;AACzE,6BAA6B;AAC7B,8EAA8E;AAE9E,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;AACxC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC9B,CAAC,CAAC;AACH,qFAAqF;AACrF,iFAAiF;AACjF,MAAM,kBAAkB,GAAG,CAAC;KACzB,MAAM,CAAC;IACN,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;CACzC,CAAC;KACD,MAAM,EAAE,CAAC;AAEZ,8EAA8E;AAC9E,8EAA8E;AAC9E,EAAE;AACF,2EAA2E;AAC3E,0EAA0E;AAC1E,4EAA4E;AAC5E,uEAAuE;AACvE,qBAAqB;AACrB,8EAA8E;AAE9E,SAAS,mBAAmB,CAAC,IAA6B,EAAE,MAA0B;IACpF,MAAM,KAAK,GACT,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,mBAAmB;QACpD,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;IACzC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1B,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,QAA0B;IAC/D,8EAA8E;IAC9E,4EAA4E;IAC5E,4EAA4E;IAC5E,4EAA4E;IAC5E,gDAAgD;IAChD,QAAQ,CAAC,QAAQ,CAAC;QAChB,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,SAAS;QACpB,OAAO,EAAE,KAAK;QACd,UAAU,EAAE,KAAK;QACjB,cAAc,EAAE,GAAG;QACnB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YAC5B,yEAAyE;YACzE,yEAAyE;YACzE,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,WAAW,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;gBAC1E,OAAO,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC5B,CAAC;YACD,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;QAClB,CAAC;KACF,CAAC,CAAC;IAEH,QAAQ,CAAC,QAAQ,CAAC;QAChB,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,SAAS;QACpB,OAAO,EAAE,KAAK;QACd,UAAU,EAAE,KAAK;QACjB,cAAc,EAAE,GAAG;QACnB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YAC5B,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,WAAW;gBAAE,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;YACpD,OAAO,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;KACF,CAAC,CAAC;IAEH,QAAQ,CAAC,QAAQ,CAAC;QAChB,IAAI,EAAE,KAAK;QACX,SAAS,EAAE,SAAS;QACpB,OAAO,EAAE,KAAK;QACd,UAAU,EAAE,KAAK;QACjB,cAAc,EAAE,GAAG;QACnB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YAC5B,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,WAAW;gBAAE,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;YACpD,OAAO,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC;QACnC,CAAC;KACF,CAAC,CAAC;IAEH,QAAQ,CAAC,QAAQ,CAAC;QAChB,IAAI,EAAE,wBAAwB;QAC9B,SAAS,EAAE,SAAS;QACpB,OAAO,EAAE,KAAK;QACd,UAAU,EAAE,KAAK;QACjB,cAAc,EAAE,GAAG;QACnB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YAC5B,oEAAoE;YACpE,yEAAyE;YACzE,qEAAqE;YACrE,iDAAiD;YACjD,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM;gBAAE,OAAO,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;YAClE,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,eAAe;gBAAE,OAAO,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,kBAAkB,IAAI,IAAI,CAAC,CAAC;YACxF,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;QAClB,CAAC;KACF,CAAC,CAAC;IAEH,QAAQ,CAAC,QAAQ,CAAC;QAChB,IAAI,EAAE,cAAc;QACpB,SAAS,EAAE,SAAS;QACpB,OAAO,EAAE,KAAK;QACd,UAAU,EAAE,KAAK;QACjB,cAAc,EAAE,GAAG;QACnB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YAC5B,wEAAwE;YACxE,2EAA2E;YAC3E,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,eAAe;gBAAE,OAAO,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC;YACjF,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;QAClB,CAAC;KACF,CAAC,CAAC;IAEH,QAAQ,CAAC,QAAQ,CAAC;QAChB,IAAI,EAAE,eAAe;QACrB,SAAS,EAAE,gBAAgB;QAC3B,OAAO,EAAE,KAAK;QACd,UAAU,EAAE,KAAK;QACjB,cAAc,EAAE,GAAG;QACnB,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,EAAE;YAC1C,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,WAAW;gBAAE,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;YACrD,MAAM,OAAO,GAAG,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAC5D,IAAI,KAAa,CAAC;YAClB,IAAI,CAAC;gBACH,KAAK,GAAG,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC;YAC9B,CAAC;YAAC,OAAO,CAAU,EAAE,CAAC;gBACpB,OAAO,GAAG,CAAC;oBACT,IAAI,EAAE,aAAa;oBACnB,OAAO,EAAE,gCAAgC,OAAO,EAAE;oBAClD,KAAK,EAAE,CAAC;iBACT,CAAC,CAAC;YACL,CAAC;YACD,OAAO,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QACjC,CAAC;KACF,CAAC,CAAC;IAEH,0EAA0E;IAC1E,8EAA8E;IAC9E,+EAA+E;IAC/E,4EAA4E;IAC5E,yEAAyE;IACzE,6EAA6E;IAC7E,oDAAoD;IACpD,QAAQ,CAAC,QAAQ,CAAC;QAChB,IAAI,EAAE,iBAAiB;QACvB,SAAS,EAAE,kBAAkB;QAC7B,OAAO,EAAE,KAAK;QACd,UAAU,EAAE,KAAK;QACjB,cAAc,EAAE,GAAG;QACnB,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,GAAG,EAAE,EAAE;YACxD,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,WAAW;gBAAE,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;YACrD,MAAM,OAAO,GAAG,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YAC/D,OAAO,EAAE,CAAC,cAAc,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;QACjF,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -14,6 +14,8 @@ export { registerLessonFunctions } from './lessons.js';
|
|
|
14
14
|
export { registerLlmFunctions } from './llm.js';
|
|
15
15
|
export { registerRagFunctions } from './rag.js';
|
|
16
16
|
export { registerRecallPreInjectFunction } from './recall_pre_inject.js';
|
|
17
|
+
export { registerReadRubric, readRubricContent } from './read_rubric.js';
|
|
18
|
+
export { registerRubricPreInject } from './rubric_pre_inject.js';
|
|
17
19
|
export { registerStateFunctions } from './state.js';
|
|
18
20
|
export { registerVerdictFunctions } from './verdict.js';
|
|
19
21
|
export { registerDestinationCheckFunction, type CheckDestinationResult, } from './destination_check.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/functions/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,+BAA+B,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EACL,gCAAgC,EAChC,KAAK,sBAAsB,GAC5B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,wBAAwB,EACxB,KAAK,uBAAuB,EAC5B,KAAK,mBAAmB,EACxB,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,oBAAoB,GAC1B,MAAM,eAAe,CAAC;AAKvB,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AAEhE,OAAO,EAAE,8BAA8B,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAE,oCAAoC,EAAE,MAAM,8BAA8B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/functions/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,+BAA+B,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACzE,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EACL,gCAAgC,EAChC,KAAK,sBAAsB,GAC5B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,wBAAwB,EACxB,KAAK,uBAAuB,EAC5B,KAAK,mBAAmB,EACxB,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,oBAAoB,GAC1B,MAAM,eAAe,CAAC;AAKvB,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AAEhE,OAAO,EAAE,8BAA8B,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAE,oCAAoC,EAAE,MAAM,8BAA8B,CAAC"}
|
package/dist/functions/index.js
CHANGED
|
@@ -14,6 +14,8 @@ export { registerLessonFunctions } from './lessons.js';
|
|
|
14
14
|
export { registerLlmFunctions } from './llm.js';
|
|
15
15
|
export { registerRagFunctions } from './rag.js';
|
|
16
16
|
export { registerRecallPreInjectFunction } from './recall_pre_inject.js';
|
|
17
|
+
export { registerReadRubric, readRubricContent } from './read_rubric.js';
|
|
18
|
+
export { registerRubricPreInject } from './rubric_pre_inject.js';
|
|
17
19
|
export { registerStateFunctions } from './state.js';
|
|
18
20
|
export { registerVerdictFunctions } from './verdict.js';
|
|
19
21
|
export { registerDestinationCheckFunction, } from './destination_check.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/functions/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,+BAA+B,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EACL,gCAAgC,GAEjC,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,wBAAwB,GAMzB,MAAM,eAAe,CAAC;AACvB,4EAA4E;AAC5E,sEAAsE;AACtE,sEAAsE;AACtE,uDAAuD;AACvD,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AAChE,sFAAsF;AACtF,OAAO,EAAE,8BAA8B,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAE,oCAAoC,EAAE,MAAM,8BAA8B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/functions/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,+BAA+B,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACzE,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EACL,gCAAgC,GAEjC,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,wBAAwB,GAMzB,MAAM,eAAe,CAAC;AACvB,4EAA4E;AAC5E,sEAAsE;AACtE,sEAAsE;AACtE,uDAAuD;AACvD,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AAChE,sFAAsF;AACtF,OAAO,EAAE,8BAA8B,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAE,oCAAoC,EAAE,MAAM,8BAA8B,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `read_rubric` primitive + the bare `readRubricContent` reader (T-transfer-audit-rubric TR.A,
|
|
3
|
+
* wg-2d1d8698f563).
|
|
4
|
+
*
|
|
5
|
+
* Single-sources the coding-flow audit rubric: the canonical criteria live in `docs/rubric/{scope,author}.md`
|
|
6
|
+
* (shipped via package.json `files[]`), read WHOLE by name. The guess/spec audits interpolate `{{rubric}}`
|
|
7
|
+
* from this (de-duping the former hardcoded prompt copy — docs/lexicon.md:40), and `rubric_pre_inject` (TR.B)
|
|
8
|
+
* delivers the same content to the agent before authoring. Edit a fragment → both reflect it (the audit's
|
|
9
|
+
* sha256(prompt) cache invalidates because the rubric content is interpolated INTO the prompt).
|
|
10
|
+
*
|
|
11
|
+
* Resolution is MODULE-RELATIVE to the opensquid package (precedent: src/runtime/paths.ts,
|
|
12
|
+
* src/runtime/update_check.ts use fileURLToPath(import.meta.url)) — NOT cwd / CLAUDE_PROJECT_DIR, so the
|
|
13
|
+
* recurring sub-repo-vs-umbrella cwd split cannot misresolve it. Compiled to dist/functions/read_rubric.js,
|
|
14
|
+
* so `../..` is the package root, where the shipped `docs/rubric/` lives.
|
|
15
|
+
*
|
|
16
|
+
* FAIL-LOUD: on file-miss / path-misresolve / over-cap the reader returns `null` — it NEVER throws and NEVER
|
|
17
|
+
* truncates. Callers fail loud: the audit blocks via a `rubric == null` precondition (so it never runs
|
|
18
|
+
* rubric-less); the injection injects nothing. (project-memory-scope-isolation: fail-loud, not silent.)
|
|
19
|
+
*/
|
|
20
|
+
import type { FunctionRegistry } from './registry.js';
|
|
21
|
+
/**
|
|
22
|
+
* Bare reader — reused by `rubric_pre_inject` (TR.B) and wrapped by the primitive below. Returns the whole
|
|
23
|
+
* fragment, or `null` on file-miss / path-misresolve / over-cap. Never throws, never truncates.
|
|
24
|
+
*/
|
|
25
|
+
export declare function readRubricContent(name: 'scope' | 'author'): Promise<string | null>;
|
|
26
|
+
export declare function registerReadRubric(registry: FunctionRegistry): void;
|
|
27
|
+
//# sourceMappingURL=read_rubric.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"read_rubric.d.ts","sourceRoot":"","sources":["../../src/functions/read_rubric.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAUH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAUtD;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAOxF;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CASnE"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `read_rubric` primitive + the bare `readRubricContent` reader (T-transfer-audit-rubric TR.A,
|
|
3
|
+
* wg-2d1d8698f563).
|
|
4
|
+
*
|
|
5
|
+
* Single-sources the coding-flow audit rubric: the canonical criteria live in `docs/rubric/{scope,author}.md`
|
|
6
|
+
* (shipped via package.json `files[]`), read WHOLE by name. The guess/spec audits interpolate `{{rubric}}`
|
|
7
|
+
* from this (de-duping the former hardcoded prompt copy — docs/lexicon.md:40), and `rubric_pre_inject` (TR.B)
|
|
8
|
+
* delivers the same content to the agent before authoring. Edit a fragment → both reflect it (the audit's
|
|
9
|
+
* sha256(prompt) cache invalidates because the rubric content is interpolated INTO the prompt).
|
|
10
|
+
*
|
|
11
|
+
* Resolution is MODULE-RELATIVE to the opensquid package (precedent: src/runtime/paths.ts,
|
|
12
|
+
* src/runtime/update_check.ts use fileURLToPath(import.meta.url)) — NOT cwd / CLAUDE_PROJECT_DIR, so the
|
|
13
|
+
* recurring sub-repo-vs-umbrella cwd split cannot misresolve it. Compiled to dist/functions/read_rubric.js,
|
|
14
|
+
* so `../..` is the package root, where the shipped `docs/rubric/` lives.
|
|
15
|
+
*
|
|
16
|
+
* FAIL-LOUD: on file-miss / path-misresolve / over-cap the reader returns `null` — it NEVER throws and NEVER
|
|
17
|
+
* truncates. Callers fail loud: the audit blocks via a `rubric == null` precondition (so it never runs
|
|
18
|
+
* rubric-less); the injection injects nothing. (project-memory-scope-isolation: fail-loud, not silent.)
|
|
19
|
+
*/
|
|
20
|
+
import { readFile } from 'node:fs/promises';
|
|
21
|
+
import { dirname, join } from 'node:path';
|
|
22
|
+
import { fileURLToPath } from 'node:url';
|
|
23
|
+
import { z } from 'zod';
|
|
24
|
+
import { ok } from '../runtime/result.js';
|
|
25
|
+
/** Generous sanity ceiling, well above the few-KB prose rubric; over-cap → null (never a partial read). */
|
|
26
|
+
const MAX_RUBRIC = 64_000;
|
|
27
|
+
const ReadRubricArgs = z.object({ name: z.enum(['scope', 'author']) }).strict();
|
|
28
|
+
// dist/functions/read_rubric.js → ../.. = the package root (where the shipped docs/rubric/ lives).
|
|
29
|
+
const PKG_ROOT = join(dirname(fileURLToPath(import.meta.url)), '..', '..');
|
|
30
|
+
/**
|
|
31
|
+
* Bare reader — reused by `rubric_pre_inject` (TR.B) and wrapped by the primitive below. Returns the whole
|
|
32
|
+
* fragment, or `null` on file-miss / path-misresolve / over-cap. Never throws, never truncates.
|
|
33
|
+
*/
|
|
34
|
+
export async function readRubricContent(name) {
|
|
35
|
+
try {
|
|
36
|
+
const content = await readFile(join(PKG_ROOT, 'docs', 'rubric', `${name}.md`), 'utf8');
|
|
37
|
+
return content.length > MAX_RUBRIC ? null : content;
|
|
38
|
+
}
|
|
39
|
+
catch {
|
|
40
|
+
return null;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
export function registerReadRubric(registry) {
|
|
44
|
+
registry.register({
|
|
45
|
+
name: 'read_rubric',
|
|
46
|
+
argSchema: ReadRubricArgs,
|
|
47
|
+
durable: false,
|
|
48
|
+
memoizable: false, // re-read each call so a rubric edit is reflected (S-C)
|
|
49
|
+
costEstimateMs: 1,
|
|
50
|
+
execute: async ({ name }) => ok(await readRubricContent(name)),
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=read_rubric.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"read_rubric.js","sourceRoot":"","sources":["../../src/functions/read_rubric.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,EAAE,EAAE,MAAM,sBAAsB,CAAC;AAI1C,2GAA2G;AAC3G,MAAM,UAAU,GAAG,MAAM,CAAC;AAE1B,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;AAEhF,mGAAmG;AACnG,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAE3E;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,IAAwB;IAC9D,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC;QACvF,OAAO,OAAO,CAAC,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;IACtD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,QAA0B;IAC3D,QAAQ,CAAC,QAAQ,CAAC;QAChB,IAAI,EAAE,aAAa;QACnB,SAAS,EAAE,cAAc;QACzB,OAAO,EAAE,KAAK;QACd,UAAU,EAAE,KAAK,EAAE,wDAAwD;QAC3E,cAAc,EAAE,CAAC;QACjB,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,iBAAiB,CAAC,IAAI,CAAC,CAAC;KAC/D,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `rubric_pre_inject` primitive (T-transfer-audit-rubric TR.B, wg-2d1d8698f563).
|
|
3
|
+
*
|
|
4
|
+
* Delivers the coding-flow quality rubric to the agent BEFORE it authors — the fix for the
|
|
5
|
+
* "blind first draft" root cause. Modeled on `recall_pre_inject`: on a `prompt_submit` event, when the
|
|
6
|
+
* coding-flow FSM is in an active SCOPE/AUTHOR phase, it returns a `{ kind: 'inject_context', content }`
|
|
7
|
+
* payload that `dispatch.ts` emits as Claude Code's `hookSpecificOutput.additionalContext` at UserPromptSubmit.
|
|
8
|
+
*
|
|
9
|
+
* Injects the FULL rubric (BOTH scope + author), NOT phase-gated to one: `prompt_submit` fires per USER PROMPT
|
|
10
|
+
* while phases advance MID-TURN on writes, so under run-to-exhaustion the whole SCOPE→AUTHOR flow is one turn
|
|
11
|
+
* with no intervening prompt — one injection must cover every phase the turn will traverse. The hosting rule
|
|
12
|
+
* is ordered AFTER `enter-scoping` in `entry-and-handoffs` so the cold kickoff turn's just-armed `scoping` is
|
|
13
|
+
* visible (rules walk file-order). If the flow isn't armed (idle / non-coding), nothing injects — and no audit
|
|
14
|
+
* fires either, so no rubric is owed.
|
|
15
|
+
*
|
|
16
|
+
* Reuses `readRubricContent` (TR.A) — ONE canonical source for the audit AND the agent. Fail-loud has no
|
|
17
|
+
* meaning here (this is advisory injection, not a gate): a null fragment simply injects nothing; the audit
|
|
18
|
+
* (the blocker) fail-louds on the same condition.
|
|
19
|
+
*/
|
|
20
|
+
import type { FunctionRegistry } from './registry.js';
|
|
21
|
+
export declare function registerRubricPreInject(registry: FunctionRegistry): void;
|
|
22
|
+
//# sourceMappingURL=rubric_pre_inject.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rubric_pre_inject.d.ts","sourceRoot":"","sources":["../../src/functions/rubric_pre_inject.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAQH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAQtD,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CA0BxE"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `rubric_pre_inject` primitive (T-transfer-audit-rubric TR.B, wg-2d1d8698f563).
|
|
3
|
+
*
|
|
4
|
+
* Delivers the coding-flow quality rubric to the agent BEFORE it authors — the fix for the
|
|
5
|
+
* "blind first draft" root cause. Modeled on `recall_pre_inject`: on a `prompt_submit` event, when the
|
|
6
|
+
* coding-flow FSM is in an active SCOPE/AUTHOR phase, it returns a `{ kind: 'inject_context', content }`
|
|
7
|
+
* payload that `dispatch.ts` emits as Claude Code's `hookSpecificOutput.additionalContext` at UserPromptSubmit.
|
|
8
|
+
*
|
|
9
|
+
* Injects the FULL rubric (BOTH scope + author), NOT phase-gated to one: `prompt_submit` fires per USER PROMPT
|
|
10
|
+
* while phases advance MID-TURN on writes, so under run-to-exhaustion the whole SCOPE→AUTHOR flow is one turn
|
|
11
|
+
* with no intervening prompt — one injection must cover every phase the turn will traverse. The hosting rule
|
|
12
|
+
* is ordered AFTER `enter-scoping` in `entry-and-handoffs` so the cold kickoff turn's just-armed `scoping` is
|
|
13
|
+
* visible (rules walk file-order). If the flow isn't armed (idle / non-coding), nothing injects — and no audit
|
|
14
|
+
* fires either, so no rubric is owed.
|
|
15
|
+
*
|
|
16
|
+
* Reuses `readRubricContent` (TR.A) — ONE canonical source for the audit AND the agent. Fail-loud has no
|
|
17
|
+
* meaning here (this is advisory injection, not a gate): a null fragment simply injects nothing; the audit
|
|
18
|
+
* (the blocker) fail-louds on the same condition.
|
|
19
|
+
*/
|
|
20
|
+
import { z } from 'zod';
|
|
21
|
+
import { readFsmStateRaw } from '../runtime/fsm_state.js';
|
|
22
|
+
import { ok } from '../runtime/result.js';
|
|
23
|
+
import { readRubricContent } from './read_rubric.js';
|
|
24
|
+
// Active SCOPE/AUTHOR authoring phases (packs/builtin/coding-flow/fsm.yaml:15-18). `researched` is the
|
|
25
|
+
// pre-spec-write window where the first spec is authored (spec_drafted fires ON the write).
|
|
26
|
+
const ACTIVE = new Set(['scoping', 'researching', 'researched', 'spec_authored']);
|
|
27
|
+
const EmptyArgs = z.object({}).strict();
|
|
28
|
+
export function registerRubricPreInject(registry) {
|
|
29
|
+
registry.register({
|
|
30
|
+
name: 'rubric_pre_inject',
|
|
31
|
+
argSchema: EmptyArgs,
|
|
32
|
+
durable: false,
|
|
33
|
+
memoizable: false,
|
|
34
|
+
costEstimateMs: 2,
|
|
35
|
+
execute: async (_args, ctx) => {
|
|
36
|
+
if (ctx.event.kind !== 'prompt_submit')
|
|
37
|
+
return ok(null);
|
|
38
|
+
const st = await readFsmStateRaw(ctx.sessionId, 'coding-flow'); // null on unstarted/unreadable
|
|
39
|
+
if (st === null || !ACTIVE.has(st))
|
|
40
|
+
return ok(null); // FSM-active gate
|
|
41
|
+
const scope = await readRubricContent('scope');
|
|
42
|
+
const author = await readRubricContent('author');
|
|
43
|
+
if (scope === null && author === null)
|
|
44
|
+
return ok(null);
|
|
45
|
+
const content = [
|
|
46
|
+
'## Coding-flow quality rubric — the bar the SCOPE/AUTHOR gates will apply (hold it BEFORE you author)',
|
|
47
|
+
'',
|
|
48
|
+
'### SCOPE (pre-research / scope artifacts)',
|
|
49
|
+
scope ?? '_(scope rubric unavailable)_',
|
|
50
|
+
'',
|
|
51
|
+
'### AUTHOR (task specs)',
|
|
52
|
+
author ?? '_(author rubric unavailable)_',
|
|
53
|
+
].join('\n');
|
|
54
|
+
return ok({ kind: 'inject_context', content });
|
|
55
|
+
},
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=rubric_pre_inject.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rubric_pre_inject.js","sourceRoot":"","sources":["../../src/functions/rubric_pre_inject.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,EAAE,EAAE,MAAM,sBAAsB,CAAC;AAE1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAGrD,uGAAuG;AACvG,4FAA4F;AAC5F,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,aAAa,EAAE,YAAY,EAAE,eAAe,CAAC,CAAC,CAAC;AAElF,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;AAExC,MAAM,UAAU,uBAAuB,CAAC,QAA0B;IAChE,QAAQ,CAAC,QAAQ,CAAC;QAChB,IAAI,EAAE,mBAAmB;QACzB,SAAS,EAAE,SAAS;QACpB,OAAO,EAAE,KAAK;QACd,UAAU,EAAE,KAAK;QACjB,cAAc,EAAE,CAAC;QACjB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YAC5B,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,eAAe;gBAAE,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;YACxD,MAAM,EAAE,GAAG,MAAM,eAAe,CAAC,GAAG,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC,+BAA+B;YAC/F,IAAI,EAAE,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;gBAAE,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB;YACvE,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAC/C,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,QAAQ,CAAC,CAAC;YACjD,IAAI,KAAK,KAAK,IAAI,IAAI,MAAM,KAAK,IAAI;gBAAE,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;YACvD,MAAM,OAAO,GAAG;gBACd,uGAAuG;gBACvG,EAAE;gBACF,4CAA4C;gBAC5C,KAAK,IAAI,8BAA8B;gBACvC,EAAE;gBACF,yBAAyB;gBACzB,MAAM,IAAI,+BAA+B;aAC1C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACb,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,gBAAyB,EAAE,OAAO,EAAE,CAAC,CAAC;QAC1D,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session_status_manifest.d.ts","sourceRoot":"","sources":["../../src/functions/session_status_manifest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;
|
|
1
|
+
{"version":3,"file":"session_status_manifest.d.ts","sourceRoot":"","sources":["../../src/functions/session_status_manifest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAMH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAYxB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjD,QAAA,MAAM,MAAM,iDAAwB,CAAC;AAErC,UAAU,cAAc;IACtB,IAAI,EAAE,gBAAgB,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;CACjB;AAkHD,eAAO,MAAM,qBAAqB,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,MAAM,CAAC,EAAE,cAAc,GAAG,IAAI,CAuB5F,CAAC"}
|
|
@@ -37,12 +37,14 @@
|
|
|
37
37
|
*/
|
|
38
38
|
import { readFile } from 'node:fs/promises';
|
|
39
39
|
import { join } from 'node:path';
|
|
40
|
+
import { gt, valid } from 'semver';
|
|
40
41
|
import { z } from 'zod';
|
|
41
42
|
import { loadChannelsConfig, resolveOutbound, resolveUmbrellaForCwd } from '../channels/routing.js';
|
|
42
43
|
import { pingDaemon } from '../chat_daemon/client.js';
|
|
43
44
|
import { loadActivePacks } from '../runtime/bootstrap.js';
|
|
44
45
|
import { isLeaseFresh, readLease } from '../runtime/chat/live_session_lease.js';
|
|
45
46
|
import { OPENSQUID_HOME, umbrellaLiveSessionLease } from '../runtime/paths.js';
|
|
47
|
+
import { readCurrentVersion, readUpdateCache } from '../runtime/update_check.js';
|
|
46
48
|
import { resolveBackendConfig } from '../rag/config.js';
|
|
47
49
|
import { ok } from '../runtime/result.js';
|
|
48
50
|
import { flowEnforcementProblems } from './check_flow_health.js';
|
|
@@ -125,6 +127,18 @@ function safeSection(label, probe) {
|
|
|
125
127
|
probe().then(resolve, () => resolve(`${label}: unknown`));
|
|
126
128
|
});
|
|
127
129
|
}
|
|
130
|
+
/** Version section (wg-798ce60dbb13): current version + CACHE-ONLY update status (no network probe —
|
|
131
|
+
* the daily probe stays in maybeNotifyUpdate). Reuses `noticeLine` for the semver comparison. */
|
|
132
|
+
async function versionStatusLine() {
|
|
133
|
+
const current = await readCurrentVersion();
|
|
134
|
+
const cache = await readUpdateCache();
|
|
135
|
+
if (cache !== null &&
|
|
136
|
+
valid(cache.latest) !== null &&
|
|
137
|
+
valid(current) !== null &&
|
|
138
|
+
gt(cache.latest, current))
|
|
139
|
+
return `Version: opensquid ${current} → ${cache.latest} available (run \`opensquid update\`)`;
|
|
140
|
+
return `Version: opensquid ${current}${cache !== null ? ' (up to date)' : ' (latest unknown)'}`;
|
|
141
|
+
}
|
|
128
142
|
export const SessionStatusManifest = {
|
|
129
143
|
name: 'session_status_manifest',
|
|
130
144
|
argSchema: NoArgs,
|
|
@@ -140,6 +154,7 @@ export const SessionStatusManifest = {
|
|
|
140
154
|
safeSection('Packs', () => packsStatusLine(sessionId)),
|
|
141
155
|
safeSection('Daemon', () => daemonStatusLine()),
|
|
142
156
|
safeSection('Memory', () => memoryStatusLine()),
|
|
157
|
+
safeSection('Version', () => versionStatusLine()),
|
|
143
158
|
]);
|
|
144
159
|
const content = ['📋 opensquid — session connections', ...sections.map((s) => `• ${s}`)].join('\n');
|
|
145
160
|
return ok({ kind: 'inject_context', content });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session_status_manifest.js","sourceRoot":"","sources":["../../src/functions/session_status_manifest.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"session_status_manifest.js","sourceRoot":"","sources":["../../src/functions/session_status_manifest.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Quote-aware shell tokenizer + git-invocation predicate. Pure, deterministic, total.
|
|
3
|
+
*
|
|
4
|
+
* Backs the `command_invokes` event primitive (src/functions/event.ts), which gates on a
|
|
5
|
+
* REAL git invocation instead of a raw-string match against the whole command — the
|
|
6
|
+
* false-fire root cause (wg-52e57e2ed252: `git commit` inside a grep pattern / echo arg /
|
|
7
|
+
* quoted subprocess prompt tripped the substring matcher).
|
|
8
|
+
*
|
|
9
|
+
* Threat model (load-bearing — pre-research §0): best-effort, honest-agent self-discipline,
|
|
10
|
+
* NOT adversary-proof. An agent controls its own shell and could evade any in-session check;
|
|
11
|
+
* the HARD boundary is the owned git pre-commit/pre-push hook reading the real staged diff.
|
|
12
|
+
* So this handles the command forms an honest agent actually types (quotes, compound
|
|
13
|
+
* `&&`/`||`/`|`/`;`, git globals `-C`/`-c`), not obfuscated evasion (command substitution,
|
|
14
|
+
* heredocs) — those are out of scope here and caught at the commit boundary.
|
|
15
|
+
*
|
|
16
|
+
* Contrast with `isReadOnlyBash` (src/runtime/session_state.ts:146): that splitter is
|
|
17
|
+
* quote-BLIND (`split(/\|\||&&|;|\|/)`), acceptable there because it is fail-closed and
|
|
18
|
+
* additive. A gate's mis-split is the bug, so this tokenizer is quote-aware.
|
|
19
|
+
*
|
|
20
|
+
* Imported by: src/functions/event.ts (the `command_invokes` primitive).
|
|
21
|
+
*/
|
|
22
|
+
/**
|
|
23
|
+
* Tokenize a shell command into segments (argv arrays), splitting on UNQUOTED control
|
|
24
|
+
* operators (`&& || | ; & newline`) and UNQUOTED whitespace, stripping quotes. Single
|
|
25
|
+
* quotes are literal; double quotes honor `\` escapes for `" \ $ ` (backtick); an unquoted
|
|
26
|
+
* `\` escapes the next char. Returns `[]` for non-string / empty / over-long input.
|
|
27
|
+
*/
|
|
28
|
+
export declare function tokenizeShell(command: string): string[][];
|
|
29
|
+
export interface InvokeQuery {
|
|
30
|
+
program: string;
|
|
31
|
+
subcommand?: string | undefined;
|
|
32
|
+
flagAny?: string[] | undefined;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* True iff some real shell segment invokes `program` (basename match) AND — if `subcommand`
|
|
36
|
+
* is given — its first positional (after skipping git global options and `-C`/`-c` values)
|
|
37
|
+
* equals it AND — if `flagAny` is given — at least one listed flag is present in that
|
|
38
|
+
* invocation's args.
|
|
39
|
+
*/
|
|
40
|
+
export declare function commandInvokes(command: string, q: InvokeQuery): boolean;
|
|
41
|
+
//# sourceMappingURL=shell_parse.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shell_parse.d.ts","sourceRoot":"","sources":["../../src/functions/shell_parse.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAcH;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,CA8FzD;AA2BD,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAGhB,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;CAChC;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,WAAW,GAAG,OAAO,CAcvE"}
|