Implements Phases 1-8 of the TFTSR implementation plan. Rust backend (Tauri 2.x, src-tauri/): - Multi-provider AI: OpenAI-compatible, Anthropic, Gemini, Mistral, Ollama - PII detection engine: 11 regex patterns with overlap resolution - SQLCipher AES-256 encrypted database with 10 versioned migrations - 28 Tauri IPC commands for triage, analysis, document, and system ops - Ollama: hardware probe, model recommendations, pull/delete with events - RCA and blameless post-mortem Markdown document generators - PDF export via printpdf - Audit log: SHA-256 hash of every external data send - Integration stubs for Confluence, ServiceNow, Azure DevOps (v0.2) Frontend (React 18 + TypeScript + Vite, src/): - 9 pages: full triage workflow NewIssue→LogUpload→Triage→Resolution→RCA→Postmortem→History+Settings - 7 components: ChatWindow, TriageProgress, PiiDiffViewer, DocEditor, HardwareReport, ModelSelector, UI primitives - 3 Zustand stores: session, settings (persisted), history - Type-safe tauriCommands.ts matching Rust backend types exactly - 8 IT domain system prompts (Linux, Windows, Network, K8s, DB, Virt, HW, Obs) DevOps: - .woodpecker/test.yml: rustfmt, clippy, cargo test, tsc, vitest on every push - .woodpecker/release.yml: linux/amd64 + linux/arm64 builds, Gogs release upload Verified: - cargo check: zero errors - tsc --noEmit: zero errors - vitest run: 13/13 unit tests passing Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
91 lines
3.1 KiB
TypeScript
91 lines
3.1 KiB
TypeScript
import { type CheerioOptions, type InternalOptions } from './options.js';
|
|
import * as staticMethods from './static.js';
|
|
import { Cheerio } from './cheerio.js';
|
|
import type { AnyNode, Document, Element } from 'domhandler';
|
|
import type { SelectorType, BasicAcceptedElems } from './types.js';
|
|
type StaticType = typeof staticMethods;
|
|
/**
|
|
* A querying function, bound to a document created from the provided markup.
|
|
*
|
|
* Also provides several helper methods for dealing with the document as a
|
|
* whole.
|
|
*/
|
|
export interface CheerioAPI extends StaticType {
|
|
/**
|
|
* This selector method is the starting point for traversing and manipulating
|
|
* the document. Like jQuery, it's the primary method for selecting elements
|
|
* in the document.
|
|
*
|
|
* `selector` searches within the `context` scope, which searches within the
|
|
* `root` scope.
|
|
*
|
|
* @example
|
|
*
|
|
* ```js
|
|
* $('ul .pear').attr('class');
|
|
* //=> pear
|
|
*
|
|
* $('li[class=orange]').html();
|
|
* //=> Orange
|
|
*
|
|
* $('.apple', '#fruits').text();
|
|
* //=> Apple
|
|
* ```
|
|
*
|
|
* Optionally, you can also load HTML by passing the string as the selector:
|
|
*
|
|
* ```js
|
|
* $('<ul id="fruits">...</ul>');
|
|
* ```
|
|
*
|
|
* Or the context:
|
|
*
|
|
* ```js
|
|
* $('ul', '<ul id="fruits">...</ul>');
|
|
* ```
|
|
*
|
|
* Or as the root:
|
|
*
|
|
* ```js
|
|
* $('li', 'ul', '<ul id="fruits">...</ul>');
|
|
* ```
|
|
*
|
|
* @param selector - Either a selector to look for within the document, or the
|
|
* contents of a new Cheerio instance.
|
|
* @param context - Either a selector to look for within the root, or the
|
|
* contents of the document to query.
|
|
* @param root - Optional HTML document string.
|
|
*/
|
|
<T extends AnyNode, S extends string>(selector?: S | BasicAcceptedElems<T>, context?: BasicAcceptedElems<AnyNode> | null, root?: BasicAcceptedElems<Document>, options?: CheerioOptions): Cheerio<S extends SelectorType ? Element : T>;
|
|
/**
|
|
* The root the document was originally loaded with.
|
|
*
|
|
* @private
|
|
*/
|
|
_root: Document;
|
|
/**
|
|
* The options the document was originally loaded with.
|
|
*
|
|
* @private
|
|
*/
|
|
_options: InternalOptions;
|
|
/** Mimic jQuery's prototype alias for plugin authors. */
|
|
fn: typeof Cheerio.prototype;
|
|
/**
|
|
* The `.load` static method defined on the "loaded" Cheerio factory function
|
|
* is deprecated. Users are encouraged to instead use the `load` function
|
|
* exported by the Cheerio module.
|
|
*
|
|
* @deprecated Use the `load` function exported by the Cheerio module.
|
|
* @category Deprecated
|
|
* @example
|
|
*
|
|
* ```js
|
|
* const $ = cheerio.load('<h1>Hello, <span>world</span>.</h1>');
|
|
* ```
|
|
*/
|
|
load: ReturnType<typeof getLoad>;
|
|
}
|
|
export declare function getLoad(parse: Cheerio<AnyNode>['_parse'], render: (dom: AnyNode | ArrayLike<AnyNode>, options: InternalOptions) => string): (content: string | AnyNode | AnyNode[] | Buffer, options?: CheerioOptions | null, isDocument?: boolean) => CheerioAPI;
|
|
export {};
|
|
//# sourceMappingURL=load.d.ts.map
|