/** * Government Portal Skill Pack (INT-007) * * Exportable skill pack for EU government portals with pre-built patterns * for Spain, Portugal, and Germany. Integrates with: * - Domain presets for content extraction * - Workflow templates for research workflows * - Verification presets for content validation * - Procedural memory for skill sharing * * @example * ```typescript * import { GOVERNMENT_SKILL_PACK, installSkillPack, getSkillsForCountry } from 'llm-browser/sdk'; * * // Install the skill pack * await installSkillPack(browser, GOVERNMENT_SKILL_PACK); * * // Get skills for a specific country * const spainSkills = getSkillsForCountry('ES'); * ``` */ import type { ResearchTopic } from '../sdk.js'; import type { PublishedPattern } from '../types/pattern-marketplace.js'; /** * A pre-built skill for government portal interaction */ export interface GovernmentSkill { /** Unique skill identifier */ id: string; /** Human-readable name */ name: string; /** Detailed description */ description: string; /** Country code (ISO 3166-1 alpha-2) */ countryCode: string; /** Country name */ countryName: string; /** Service category */ category: GovernmentServiceCategory; /** Target domains */ targetDomains: string[]; /** Research topic for verification */ topic: ResearchTopic; /** Step-by-step workflow */ steps: GovernmentSkillStep[]; /** Expected output fields */ expectedFields: string[]; /** Tips and notes */ notes?: string[]; /** Related skills */ relatedSkills?: string[]; /** Language(s) supported */ languages: string[]; /** Version */ version: string; } /** * A step in a government skill workflow */ export interface GovernmentSkillStep { /** Step identifier */ id: string; /** Step name */ name: string; /** What this step does */ description: string; /** URL pattern or template */ urlPattern: string; /** Content type to extract */ contentType: 'requirements' | 'documents' | 'fees' | 'timeline' | 'forms' | 'contact' | 'general'; /** Fields to extract */ extractFields: string[]; /** Whether this step is critical */ critical?: boolean; /** Delay before step (ms) */ delayMs?: number; /** Notes about this step */ notes?: string; } /** * Categories of government services */ export type GovernmentServiceCategory = 'visa_residence' | 'work_permit' | 'tax_registration' | 'social_security' | 'healthcare' | 'drivers_license' | 'vehicle_registration' | 'business_registration' | 'property' | 'education' | 'family' | 'citizenship' | 'legal_documents' | 'customs' | 'general'; /** * A skill pack containing multiple related skills */ export interface GovernmentSkillPack { /** Pack identifier */ id: string; /** Human-readable name */ name: string; /** Description */ description: string; /** Version (semver) */ version: string; /** Countries covered */ countries: string[]; /** All skills in this pack */ skills: GovernmentSkill[]; /** Pack metadata */ metadata: { author: string; createdAt: number; updatedAt: number; license: string; homepage?: string; }; } /** * Spain government portal skills */ export declare const SPAIN_SKILLS: GovernmentSkill[]; /** * Portugal government portal skills */ export declare const PORTUGAL_SKILLS: GovernmentSkill[]; /** * Germany government portal skills */ export declare const GERMANY_SKILLS: GovernmentSkill[]; /** * EU Government Portal Skill Pack * * Contains all skills for Spain, Portugal, and Germany. */ export declare const GOVERNMENT_SKILL_PACK: GovernmentSkillPack; /** * Get all skills for a specific country */ export declare function getSkillsForCountry(countryCode: string): GovernmentSkill[]; /** * Get a specific skill by ID */ export declare function getSkillById(skillId: string): GovernmentSkill | undefined; /** * Get skills by service category */ export declare function getSkillsByCategory(category: GovernmentServiceCategory): GovernmentSkill[]; /** * Get skills for a specific domain */ export declare function getSkillsForDomain(domain: string): GovernmentSkill[]; /** * Search skills by text */ export declare function searchSkills(query: string): GovernmentSkill[]; /** * List all available skills with metadata */ export declare function listGovernmentSkills(): Array<{ id: string; name: string; country: string; category: GovernmentServiceCategory; description: string; }>; /** * Convert a GovernmentSkill to a PublishedPattern for marketplace */ export declare function skillToPattern(skill: GovernmentSkill): Omit; /** * Export the skill pack as JSON for sharing */ export declare function exportSkillPack(): string; /** * Import a skill pack from JSON */ export declare function importSkillPack(json: string): GovernmentSkillPack; /** * Get summary of the skill pack */ export declare function getSkillPackSummary(): { totalSkills: number; byCountry: Record; byCategory: Record; version: string; }; //# sourceMappingURL=government-skill-pack.d.ts.map