@xnetjs/plugins 0.3.0 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +75 -3
- package/dist/index.js +95 -0
- package/package.json +5 -5
package/dist/index.d.ts
CHANGED
|
@@ -868,6 +868,14 @@ interface ModuleCapabilities {
|
|
|
868
868
|
network?: string[];
|
|
869
869
|
/** Host APIs the client sandbox should expose to the module's code. */
|
|
870
870
|
endowments?: string[];
|
|
871
|
+
/**
|
|
872
|
+
* Whether the module may capture the machine's system audio (meeting
|
|
873
|
+
* transcription, exploration 0279). Renders as a prominent consent line and
|
|
874
|
+
* gates the desktop loopback-capture IPC — a module without this grant never
|
|
875
|
+
* reaches the capture service. Microphone access is NOT covered here: the
|
|
876
|
+
* mic goes through the platform's own `getUserMedia` permission prompt.
|
|
877
|
+
*/
|
|
878
|
+
systemAudio?: boolean;
|
|
871
879
|
}
|
|
872
880
|
/**
|
|
873
881
|
* A two-sided feature module. Inherits all client `contributes` (including the
|
|
@@ -2631,6 +2639,63 @@ interface RssConnectorOptions {
|
|
|
2631
2639
|
*/
|
|
2632
2640
|
declare function buildRssConnector(options: RssConnectorOptions): DefinedConnector;
|
|
2633
2641
|
|
|
2642
|
+
/**
|
|
2643
|
+
* Google Calendar connector (exploration 0279, phase 4).
|
|
2644
|
+
*
|
|
2645
|
+
* Pulls upcoming calendar events into `Meeting` nodes so the recorder can
|
|
2646
|
+
* prompt "your 3pm is starting — take notes?" and pre-fill the title +
|
|
2647
|
+
* attendee names (which also seed speaker attribution). Follows the 0213
|
|
2648
|
+
* connector shape: hub-side sync with broker-held `GOOGLE_CALENDAR_TOKEN`,
|
|
2649
|
+
* egress limited to the Google APIs host, writes limited to the Meeting
|
|
2650
|
+
* schema.
|
|
2651
|
+
*
|
|
2652
|
+
* Only *detection metadata* syncs — a calendar-created Meeting has no
|
|
2653
|
+
* transcript until the user actually records; capture/transcription remain
|
|
2654
|
+
* fully on-device (0279 privacy posture).
|
|
2655
|
+
*/
|
|
2656
|
+
|
|
2657
|
+
declare const GOOGLE_CALENDAR_CONNECTOR_ID = "dev.xnet.connector.google-calendar";
|
|
2658
|
+
/** The slice of a Google Calendar `events.list` item this connector reads. */
|
|
2659
|
+
interface GoogleCalendarEvent {
|
|
2660
|
+
id?: string;
|
|
2661
|
+
status?: string;
|
|
2662
|
+
summary?: string;
|
|
2663
|
+
start?: {
|
|
2664
|
+
dateTime?: string;
|
|
2665
|
+
date?: string;
|
|
2666
|
+
};
|
|
2667
|
+
end?: {
|
|
2668
|
+
dateTime?: string;
|
|
2669
|
+
date?: string;
|
|
2670
|
+
};
|
|
2671
|
+
attendees?: Array<{
|
|
2672
|
+
displayName?: string;
|
|
2673
|
+
email?: string;
|
|
2674
|
+
self?: boolean;
|
|
2675
|
+
}>;
|
|
2676
|
+
}
|
|
2677
|
+
interface GoogleCalendarConnectorOptions {
|
|
2678
|
+
/** Override the connector id (tests, multiple accounts). */
|
|
2679
|
+
id?: string;
|
|
2680
|
+
/** Calendar to read. Default `primary`. */
|
|
2681
|
+
calendarId?: string;
|
|
2682
|
+
/** Clock injection for tests (epoch ms). */
|
|
2683
|
+
now?: () => number;
|
|
2684
|
+
}
|
|
2685
|
+
/**
|
|
2686
|
+
* The "start notes?" prompt decision (pure — the recorder UI polls this):
|
|
2687
|
+
* returns the meeting starting within `windowMs` of `now`, if any.
|
|
2688
|
+
*/
|
|
2689
|
+
declare function detectUpcomingMeeting(events: GoogleCalendarEvent[], now: number, windowMs?: number): GoogleCalendarEvent | undefined;
|
|
2690
|
+
/**
|
|
2691
|
+
* Google Calendar → `Meeting` nodes. Events materialize with a stable
|
|
2692
|
+
* `calendarEventId`, so re-syncs converge by lookup-then-update instead of
|
|
2693
|
+
* duplicating (the connector store exposes get-by-id only, so the pull keeps
|
|
2694
|
+
* its own event→node map per run and dedups against prior runs via the
|
|
2695
|
+
* deterministic node id derived from the event id).
|
|
2696
|
+
*/
|
|
2697
|
+
declare function buildGoogleCalendarConnector(options?: GoogleCalendarConnectorOptions): DefinedConnector;
|
|
2698
|
+
|
|
2634
2699
|
/**
|
|
2635
2700
|
* @xnetjs/plugins — API pull connectors: GitHub, Notion, Airtable
|
|
2636
2701
|
* (exploration 0213).
|
|
@@ -3091,9 +3156,9 @@ declare class PluginRegistry {
|
|
|
3091
3156
|
/** Thrown when a plugin tries to act outside its declared capability grant. */
|
|
3092
3157
|
declare class CapabilityError extends Error {
|
|
3093
3158
|
readonly pluginId: string;
|
|
3094
|
-
readonly capability: 'schemaWrite' | 'schemaRead' | 'network';
|
|
3159
|
+
readonly capability: 'schemaWrite' | 'schemaRead' | 'network' | 'systemAudio';
|
|
3095
3160
|
readonly target: string;
|
|
3096
|
-
constructor(message: string, pluginId: string, capability: 'schemaWrite' | 'schemaRead' | 'network', target: string);
|
|
3161
|
+
constructor(message: string, pluginId: string, capability: 'schemaWrite' | 'schemaRead' | 'network' | 'systemAudio', target: string);
|
|
3097
3162
|
}
|
|
3098
3163
|
/**
|
|
3099
3164
|
* Match a schema IRI against a capability pattern. Supports:
|
|
@@ -3118,6 +3183,13 @@ declare function isSchemaReadAllowed(caps: ModuleCapabilities | undefined, iri:
|
|
|
3118
3183
|
* egress permitted (closed by default).
|
|
3119
3184
|
*/
|
|
3120
3185
|
declare function isNetworkAllowed(caps: ModuleCapabilities | undefined, urlOrHost: string): boolean;
|
|
3186
|
+
/**
|
|
3187
|
+
* Whether the grant permits capturing system audio (exploration 0279). Closed
|
|
3188
|
+
* by default: only an explicit `systemAudio: true` opens the capture IPC.
|
|
3189
|
+
*/
|
|
3190
|
+
declare function isSystemAudioAllowed(caps: ModuleCapabilities | undefined): boolean;
|
|
3191
|
+
/** Assert system-audio capture is permitted, or throw {@link CapabilityError}. */
|
|
3192
|
+
declare function assertSystemAudio(caps: ModuleCapabilities | undefined, pluginId: string): void;
|
|
3121
3193
|
/** Assert a schema write is permitted, or throw {@link CapabilityError}. */
|
|
3122
3194
|
declare function assertSchemaWrite(caps: ModuleCapabilities | undefined, iri: string, pluginId: string): void;
|
|
3123
3195
|
/** Assert a network request is permitted, or throw {@link CapabilityError}. */
|
|
@@ -5820,4 +5892,4 @@ declare function leaveWithEverything(ports: RightToLeavePorts, opts: {
|
|
|
5820
5892
|
*/
|
|
5821
5893
|
declare function deleteDay(ports: RightToLeavePorts, opts: DeleteDayOptions): Promise<DeleteDayResult>;
|
|
5822
5894
|
|
|
5823
|
-
export { type AIComplexityLevel, type AICostModel, type AIGenerateRequest, type AIGenerateResponse, AIGenerationError, type AIMessage, type AIMessageRole, type AIModelCapabilities, type AIModelQuality, type AIPrivacyLevel, type AIProvider, type AIProviderConfig, type AIProviderOptions, AIProviderRouter, type AIProviderRouterOptions, type AIProviderType, type AIProviderUsage, AIRTABLE_CONNECTOR_ID, type AIRiskLevel, type AIScriptRequest, type AIScriptResponse, type AIStreamChunk, type AIToolCall, type AIToolSpec, type AIUsage, AI_GENERATED_PROVENANCE, AI_RISK_LEVELS, AI_SCOPES, AI_TARGET_KINDS, ALLOWED_PLUGIN_LICENSES, type ActionContext, type ActionDefinition, ActionDefinitionError, ActionDispatchError, type ActionEvent, ActionSsrfError, type ActionTrigger, type AgentToolContribution, type AgentToolInputSchema, type AiAgentApproval, type AiAgentApprovalRequestInput, type AiAgentApprovalResolveInput, type AiAgentApprovalStatus, type AiAgentBackgroundJob, type AiAgentBackgroundJobInput, type AiAgentBackgroundJobRunner, type AiAgentBackgroundJobStatus, type AiAgentDisplayState, type AiAgentDisplayStateKind, type AiAgentEvent, type AiAgentEventType, type AiAgentOrchestratorMode, type AiAgentRunSelectionTurnInput, type AiAgentRunTurnInput, type AiAgentRunTurnResult, AiAgentRuntime, type AiAgentRuntimeConfig, type AiAgentRuntimeListener, type AiAgentRuntimeSnapshot, type AiAgentRuntimeStorage, type AiAgentSelectionContext, type AiAgentSelectionKind, type AiAgentTelemetrySnapshot, type AiAgentThread, type AiAgentThreadCreateInput, type AiAgentThreadStatus, type AiAgentTurn, type AiAgentTurnRole, type AiAgentTurnStatus, type AiAssistMode, type AiAuditEvent, type AiAuthoredPlugin, AiAuthoringError, AiBudgetError, type AiCallableTool, type AiChangeSet, type AiCommandExposure, type AiContextPack, type AiContextPackResource, type AiContextRetriever, type AiContextSeed, type AiDatabaseMutationApplyResult, type AiExtraTool, type AiJsonSchema, type AiJsonSchemaType, type AiMutationPlan, type AiMutationPlanStatus, type AiOperation, type AiPageMarkdownApplyAdapter, type AiPageMarkdownApplyAdapterInput, type AiPageMarkdownApplyAdapterResult, type AiPageMarkdownApplyResult, type AiPageMarkdownRollbackResult, type AiPluginPipelineInput, type AiPluginPipelinePorts, type AiPluginPipelineResult, type AiResource, type AiResourceContent, type AiRetrievedNode, type AiRiskLevel, type AiScope, type AiSearchOptions, type AiSearchResult, type AiSurfaceLimits, AiSurfaceService, type AiSurfaceServiceConfig, type AiTargetKind, type AiToolCallResult, type AiToolDefinition, type AiValidationResult, type AirtableConnectorOptions, type AllowedPluginLicense, AnthropicProvider, type ArrayHelpers, type BlockContribution, type BlockProps, CANVAS_PLUGIN_FIXTURES, CHANNEL_SCHEMA, CHAT_MESSAGE_SCHEMA, CONNECTOR_CATEGORY, CONNECTOR_META, CRM_CANVAS_PLUGIN_FIXTURE, type CanvasCardContribution, type CanvasContribution, type CanvasContributionBase, type CanvasContributionPermission, type CanvasEdgeContribution, type CanvasErpPrototypeAuditEntry, type CanvasErpPrototypeAuditOperation, type CanvasErpPrototypeAuditSource, type CanvasErpPrototypeCard, type CanvasErpPrototypeCommand, type CanvasErpPrototypeEdge, type CanvasErpPrototypeEntityKind, type CanvasErpPrototypeLayoutKind, type CanvasErpPrototypeQueryFrame, type CanvasErpPrototypeQueryPredicate, type CanvasErpPrototypeRect, type CanvasErpPrototypeRisk, type CanvasErpPrototypeRiskSummary, type CanvasErpPrototypeScenario, type CanvasErpPrototypeStatus, type CanvasIngestInputKind, type CanvasIngestorContribution, type CanvasInspectorContribution, type CanvasInspectorPlacement, type CanvasLayoutContribution, type CanvasLayoutScope, type CanvasPluginFixture, type CanvasPluginFixtureCardSample, type CanvasPluginFixtureKind, type CanvasPluginPermissionDecisionStatus, type CanvasPluginPermissionGateDecision, type CanvasPluginPermissionGateInput, type CanvasPluginPermissionPrompt, type CanvasPluginPermissionPromptOption, type CanvasPluginPromptMode, type CanvasPluginSandboxDecision, type CanvasPluginSandboxDomAccess, type CanvasPluginSandboxKind, type CanvasPluginSandboxMutationAccess, type CanvasPluginSandboxNetworkAccess, type CanvasPluginSandboxOutput, type CanvasPluginSandboxOutputKind, type CanvasPluginSandboxOutputValidation, type CanvasPluginSandboxPolicy, type CanvasPluginSandboxRequest, type CanvasPluginWorkspacePolicy, type CanvasPreviewTier, type CanvasRendererSandboxContribution, type CanvasTemplateCategory, type CanvasTemplateContribution, type CanvasToolContribution, type CanvasToolGroup, CapabilityError, type CommandContext, type CommandContribution, CommandRegistry, type CommandScope, type ConnectorArtifacts, type ConnectorCadence, type ConnectorDefinition, ConnectorDefinitionError, type ConnectorDetection, type ConnectorEnv, type ConnectorFetch, type ConnectorInstallGate, type ConnectorStore, type ConnectorSyncContext, ConnectorSyncError, type ConnectorSyncResult, type ConnectorSyncSpec, type ConnectorTier, type ConnectorToolDescriptor, type ConsentDecision, type ConsentLine, ContributionRegistry, DEFAULT_PLUGIN_LICENSE, type DefinedAction, type DefinedConnector, type DeleteDayOptions, type DeleteDayResult, type DeliveryResult, DependencyCycleError, type DependencyNode, type Disposable$1 as Disposable, ERP_CANVAS_PLUGIN_FIXTURE, EXTERNAL_ITEM_SCHEMA, type EditorContribution, type EditorSchemaRisk, type EmailActionOptions, type ExtensionContext, type ExtensionStorage, FEED_ITEM_SCHEMA, type FeatureModule, type FeedEntry, type FetchJson, type FetchLike, type FlatNode, type FormatHelpers, GITHUB_CONNECTOR_ID, type GeneratedScript, type GithubConnectorOptions, type GuardableConnectorStore, type IProcessManager, type ImporterContribution, type InstallOptions, LEAVE_README, LINEAR_CONNECTOR_ID, type LabRunOutcome, type LadderRuntimeTier, type LanguageModelLike, type LanguageModelMonitor, type LanguageModelSessionLike, type LeaveBundle, type LicenseCheckResult, LicenseRequiredError, type LinearConnectorOptions, type LocalAPIConfig, type LocalAPITokenConfig, type LocalAPITokenScope, type LocalAPITokenSummary, type LocalServerProbe, MARKETPLACE_PROVENANCE, type MCPPropertySchema, type MCPRequest, type MCPResource, type MCPResponse, type MCPServerConfig, type MCPTool, MEDIA_PROVIDER_CANVAS_PLUGIN_FIXTURE, type ManagedBudgetSnapshot, ManagedProvider, type ManagedProviderOptions, MarketplaceClient, type MarketplaceClientOptions, type MarketplaceEntry, type MarketplaceSort, type MathHelpers, type MentionProviderContribution, type MentionSuggestion, MiddlewareChain, type MissingDependency, type ModuleCapabilities, NOTION_CONNECTOR_ID, type NodeChangeEvent, type NodeChangeEventData, type NodeData, type NodeStoreAPI, type NodeStoreMiddleware, type NotionConnectorOptions, OllamaProvider, OpenAICompatibleProvider, type OpenAICompatibleProviderOptions, OpenAIProvider, type PendingChange, type Platform, type PlatformCapabilities, type PluginContributions, PluginError, type PluginNode, type PluginNodeChangeEvent, type PluginNodeChangeListener, type PluginPermissions, type PluginPricing, type PluginRating, PluginRegistry, type PluginRunInput, type PluginRunResult, PluginRuntimeError, type PluginRuntimeLadder, PluginSchema, type PluginStatus, PluginValidationError, type ProcessManagerEvents, type PromptApiAvailability, PromptApiProvider, type PromptApiProviderOptions, type PropertyCellProps, type PropertyEditorProps, type PropertyHandler, type PropertyHandlerContribution, type Provenance, type ProvenanceResult, type ProvenanceVerifier, type QueryFilter, RSS_CONNECTOR_ID, type RatingSummary, type RecommendOptions, type RegisteredPlugin, type ResolveMentionOptions, type RightToLeavePorts, type RssConnectorOptions, type RunActionPorts, type RunConnectorSyncPorts, type RunPluginCodeInput, SCAFFOLD_SYSTEM_GUARD, SERVICE_IPC_CHANNELS, SLACK_CONNECTOR_ID, type SandboxOptions, ScaffoldError, type ScaffoldResult, type ScaffoldSpec, type ScaffoldTemplate, type SchemaContribution, type SchemaData, type SchemaDefinition, type SchemaProperty, type SchemaRegistryAPI, type ScriptContext, ScriptError, type ScriptExecutionResult, type ScriptExecutor, ScriptGenerationError, ScriptGenerator, type ScriptGeneratorOptions, type ScriptNode, type ScriptNodeChangeEvent, type ScriptOutputType, ScriptRunner, type ScriptRunnerOptions, ScriptSandbox, ScriptSchema, type ScriptStore, ScriptTimeoutError, type ScriptToManifestInput, type ScriptTriggerType, ScriptValidationError, type SemVer, type ServiceClient, type ServiceCommunication, type ServiceDefinition, type ServiceHealthCheck, type ServiceLifecycle, type ServiceOutputEvent, type ServiceProcessConfig, type ServiceProvides, type ServiceState, type ServiceStatus, type ServiceStatusEvent, type SettingContribution, type SettingsPanelProps, ShortcutManager, type SidebarContribution, type SlackConnectorOptions, type SlashCommandContext, type SlashCommandContribution, type StatusBarContribution, type SurfaceDockContribution, type SurfaceDockTier, type TelemetryReporter, type TestHarnessOptions, type TestNodeStore, type TestPluginHarness, type TextHelpers, type ToolCallingFidelity, type ToolbarContribution, TypedRegistry, type UsageSignal, type ValidationResult, type VerifyProvenanceInput, type ViewContribution, type ViewProps, type WebLLMEngineLike, WebLLMProvider, type WebLLMProviderOptions, type WebhookConfig, WebhookEmitter, type WebhookOutOptions, type WebhookPayload, type WidgetContribution, type WidgetContributionConfigField, type WidgetContributionProps, type WorkspaceCommand, type WrapCliConnectorOptions, type WriteMode, XNET_MARKDOWN_DIRECTIVE_SPECS, type XNetExtension, type XNetMarkdownDiffLine, type XNetMarkdownDiffLineKind, type XNetMarkdownDirective, type XNetMarkdownDirectiveSpec, type XNetMarkdownReviewDiff, type XNetPageMarkdownFrontmatter, type XNetPageMarkdownValidation, type XNetPageMarkdownValidationOptions, agentToolToExtraTool, agentToolsAsExtraTools, aggregateRatings, assertNetwork, assertPublicUrl, assertSchemaWrite, assistTurnProvenance, attachAiPlanValidation, buildAirtableConnector, buildDiscordAction, buildEmailAction, buildGithubConnector, buildLinearConnector, buildNotionConnector, buildRetryPrompt, buildRssConnector, buildScriptPrompt, buildSlackConnector, buildSlackWebhookAction, buildTelegramAction, buildWebhookOutAction, classifyAiAgentDisplayState, compareVersions, composeAssistSystemPrompt, connectorAsImporter, connectorMarketplaceEntry, contributionsAsAiTools, createAIProvider, createAIProviderRouter, createAiAgentRuntime, createAiChangeSet, createAiOperation, createAiSurfaceService, createAiValidationResult, createCanvasErpPrototypeRiskSummary, createCanvasErpPrototypeScenario, createCanvasPluginFixtureCards, createCanvasPluginFixtureManifests, createCanvasPluginPermissionPrompt, createCanvasPluginSandboxPolicy, createCanvasPreviewSandboxRequest, createCanvasRendererSandboxRequest, createExtensionContext, createExtensionStorage, createManagedProvider, createMemoryAiAgentRuntimeStorage, createPromptApiProvider, createScriptContext, createServiceClient, createTestNodeStore, createTestPluginHarness, createWebLLMProvider, createWebhookEmitter, defaultLocalServerProbes, defineAction, defineConnector, defineExtension, defineFeatureModule, deleteDay, describeCapabilities, detectConnectors, downloadPromptApiModel, emitConnectorArtifacts, evaluateCanvasPluginPermissionGate, evaluateCanvasPluginSandboxRequest, evaluateConnectorInstall, evaluateInstallConsent, executeScript, failClosedVerifier, filterByCategory, findEditorSchemaRisks, findMissingDependencies, generateScript, getCanvasErpPrototypeAuditEntriesForCard, getCanvasErpPrototypeCardsForFrame, getCanvasPluginFixture, getCommandRegistry, getPlatformCapabilities, getShortcutManager, getXNetMarkdownDirectiveSpecs, guardStore, guardedActionFetch, guardedFetch, hasUpdate, importerAdapters, installCommandHandler, installShortcutHandler, isAiRiskLevel, isAiScope, isAiTargetKind, isAllowedPluginLicense, isHostCompatible, isNetworkAllowed, isOllamaAvailable, isPaidPricing, isSchemaDefiningExtension, isSchemaReadAllowed, isSchemaWriteAllowed, isScriptNode, isServiceClientAvailable, ladderTierForTrust, leaveWithEverything, listOllamaModels, matchSchemaIri, normalizeCanvasPluginWorkspacePolicy, packageName, parseAiMutationPlan, parseFeed, parseVersion, parseXNetPageFrontmatter, pascalCase, pickBestConnector, pluginLicenseText, probeOpenAiCompatible, promptApiAvailability, quickSafetyCheck, recommendExtensions, renderEvent, renderMarkdownLineDiff, renderMarkdownReviewDiff, renderSelectionPrompt, resolveImporters, resolveInstallOrder, resolveMentionProviders, runAction, runAiPluginPipeline, runConnectorSync, runPluginCode, satisfiesRange, scaffoldPlugin, scriptToPluginManifest, searchMarketplace, serializeAiMutationPlan, shortSchemaName, shouldDispatch, sortMarketplace, stripXNetPageFrontmatter, summarizeProvenance, validateAiMutationPlan, validateCanvasPluginSandboxOutput, validateManifest, validateScript, validateScriptAST, validateXNetPageMarkdown, verifyProvenance, warnOnEditorSchemaRisks, wrapCliConnector, writeModeFor };
|
|
5895
|
+
export { type AIComplexityLevel, type AICostModel, type AIGenerateRequest, type AIGenerateResponse, AIGenerationError, type AIMessage, type AIMessageRole, type AIModelCapabilities, type AIModelQuality, type AIPrivacyLevel, type AIProvider, type AIProviderConfig, type AIProviderOptions, AIProviderRouter, type AIProviderRouterOptions, type AIProviderType, type AIProviderUsage, AIRTABLE_CONNECTOR_ID, type AIRiskLevel, type AIScriptRequest, type AIScriptResponse, type AIStreamChunk, type AIToolCall, type AIToolSpec, type AIUsage, AI_GENERATED_PROVENANCE, AI_RISK_LEVELS, AI_SCOPES, AI_TARGET_KINDS, ALLOWED_PLUGIN_LICENSES, type ActionContext, type ActionDefinition, ActionDefinitionError, ActionDispatchError, type ActionEvent, ActionSsrfError, type ActionTrigger, type AgentToolContribution, type AgentToolInputSchema, type AiAgentApproval, type AiAgentApprovalRequestInput, type AiAgentApprovalResolveInput, type AiAgentApprovalStatus, type AiAgentBackgroundJob, type AiAgentBackgroundJobInput, type AiAgentBackgroundJobRunner, type AiAgentBackgroundJobStatus, type AiAgentDisplayState, type AiAgentDisplayStateKind, type AiAgentEvent, type AiAgentEventType, type AiAgentOrchestratorMode, type AiAgentRunSelectionTurnInput, type AiAgentRunTurnInput, type AiAgentRunTurnResult, AiAgentRuntime, type AiAgentRuntimeConfig, type AiAgentRuntimeListener, type AiAgentRuntimeSnapshot, type AiAgentRuntimeStorage, type AiAgentSelectionContext, type AiAgentSelectionKind, type AiAgentTelemetrySnapshot, type AiAgentThread, type AiAgentThreadCreateInput, type AiAgentThreadStatus, type AiAgentTurn, type AiAgentTurnRole, type AiAgentTurnStatus, type AiAssistMode, type AiAuditEvent, type AiAuthoredPlugin, AiAuthoringError, AiBudgetError, type AiCallableTool, type AiChangeSet, type AiCommandExposure, type AiContextPack, type AiContextPackResource, type AiContextRetriever, type AiContextSeed, type AiDatabaseMutationApplyResult, type AiExtraTool, type AiJsonSchema, type AiJsonSchemaType, type AiMutationPlan, type AiMutationPlanStatus, type AiOperation, type AiPageMarkdownApplyAdapter, type AiPageMarkdownApplyAdapterInput, type AiPageMarkdownApplyAdapterResult, type AiPageMarkdownApplyResult, type AiPageMarkdownRollbackResult, type AiPluginPipelineInput, type AiPluginPipelinePorts, type AiPluginPipelineResult, type AiResource, type AiResourceContent, type AiRetrievedNode, type AiRiskLevel, type AiScope, type AiSearchOptions, type AiSearchResult, type AiSurfaceLimits, AiSurfaceService, type AiSurfaceServiceConfig, type AiTargetKind, type AiToolCallResult, type AiToolDefinition, type AiValidationResult, type AirtableConnectorOptions, type AllowedPluginLicense, AnthropicProvider, type ArrayHelpers, type BlockContribution, type BlockProps, CANVAS_PLUGIN_FIXTURES, CHANNEL_SCHEMA, CHAT_MESSAGE_SCHEMA, CONNECTOR_CATEGORY, CONNECTOR_META, CRM_CANVAS_PLUGIN_FIXTURE, type CanvasCardContribution, type CanvasContribution, type CanvasContributionBase, type CanvasContributionPermission, type CanvasEdgeContribution, type CanvasErpPrototypeAuditEntry, type CanvasErpPrototypeAuditOperation, type CanvasErpPrototypeAuditSource, type CanvasErpPrototypeCard, type CanvasErpPrototypeCommand, type CanvasErpPrototypeEdge, type CanvasErpPrototypeEntityKind, type CanvasErpPrototypeLayoutKind, type CanvasErpPrototypeQueryFrame, type CanvasErpPrototypeQueryPredicate, type CanvasErpPrototypeRect, type CanvasErpPrototypeRisk, type CanvasErpPrototypeRiskSummary, type CanvasErpPrototypeScenario, type CanvasErpPrototypeStatus, type CanvasIngestInputKind, type CanvasIngestorContribution, type CanvasInspectorContribution, type CanvasInspectorPlacement, type CanvasLayoutContribution, type CanvasLayoutScope, type CanvasPluginFixture, type CanvasPluginFixtureCardSample, type CanvasPluginFixtureKind, type CanvasPluginPermissionDecisionStatus, type CanvasPluginPermissionGateDecision, type CanvasPluginPermissionGateInput, type CanvasPluginPermissionPrompt, type CanvasPluginPermissionPromptOption, type CanvasPluginPromptMode, type CanvasPluginSandboxDecision, type CanvasPluginSandboxDomAccess, type CanvasPluginSandboxKind, type CanvasPluginSandboxMutationAccess, type CanvasPluginSandboxNetworkAccess, type CanvasPluginSandboxOutput, type CanvasPluginSandboxOutputKind, type CanvasPluginSandboxOutputValidation, type CanvasPluginSandboxPolicy, type CanvasPluginSandboxRequest, type CanvasPluginWorkspacePolicy, type CanvasPreviewTier, type CanvasRendererSandboxContribution, type CanvasTemplateCategory, type CanvasTemplateContribution, type CanvasToolContribution, type CanvasToolGroup, CapabilityError, type CommandContext, type CommandContribution, CommandRegistry, type CommandScope, type ConnectorArtifacts, type ConnectorCadence, type ConnectorDefinition, ConnectorDefinitionError, type ConnectorDetection, type ConnectorEnv, type ConnectorFetch, type ConnectorInstallGate, type ConnectorStore, type ConnectorSyncContext, ConnectorSyncError, type ConnectorSyncResult, type ConnectorSyncSpec, type ConnectorTier, type ConnectorToolDescriptor, type ConsentDecision, type ConsentLine, ContributionRegistry, DEFAULT_PLUGIN_LICENSE, type DefinedAction, type DefinedConnector, type DeleteDayOptions, type DeleteDayResult, type DeliveryResult, DependencyCycleError, type DependencyNode, type Disposable$1 as Disposable, ERP_CANVAS_PLUGIN_FIXTURE, EXTERNAL_ITEM_SCHEMA, type EditorContribution, type EditorSchemaRisk, type EmailActionOptions, type ExtensionContext, type ExtensionStorage, FEED_ITEM_SCHEMA, type FeatureModule, type FeedEntry, type FetchJson, type FetchLike, type FlatNode, type FormatHelpers, GITHUB_CONNECTOR_ID, GOOGLE_CALENDAR_CONNECTOR_ID, type GeneratedScript, type GithubConnectorOptions, type GuardableConnectorStore, type IProcessManager, type ImporterContribution, type InstallOptions, LEAVE_README, LINEAR_CONNECTOR_ID, type LabRunOutcome, type LadderRuntimeTier, type LanguageModelLike, type LanguageModelMonitor, type LanguageModelSessionLike, type LeaveBundle, type LicenseCheckResult, LicenseRequiredError, type LinearConnectorOptions, type LocalAPIConfig, type LocalAPITokenConfig, type LocalAPITokenScope, type LocalAPITokenSummary, type LocalServerProbe, MARKETPLACE_PROVENANCE, type MCPPropertySchema, type MCPRequest, type MCPResource, type MCPResponse, type MCPServerConfig, type MCPTool, MEDIA_PROVIDER_CANVAS_PLUGIN_FIXTURE, type ManagedBudgetSnapshot, ManagedProvider, type ManagedProviderOptions, MarketplaceClient, type MarketplaceClientOptions, type MarketplaceEntry, type MarketplaceSort, type MathHelpers, type MentionProviderContribution, type MentionSuggestion, MiddlewareChain, type MissingDependency, type ModuleCapabilities, NOTION_CONNECTOR_ID, type NodeChangeEvent, type NodeChangeEventData, type NodeData, type NodeStoreAPI, type NodeStoreMiddleware, type NotionConnectorOptions, OllamaProvider, OpenAICompatibleProvider, type OpenAICompatibleProviderOptions, OpenAIProvider, type PendingChange, type Platform, type PlatformCapabilities, type PluginContributions, PluginError, type PluginNode, type PluginNodeChangeEvent, type PluginNodeChangeListener, type PluginPermissions, type PluginPricing, type PluginRating, PluginRegistry, type PluginRunInput, type PluginRunResult, PluginRuntimeError, type PluginRuntimeLadder, PluginSchema, type PluginStatus, PluginValidationError, type ProcessManagerEvents, type PromptApiAvailability, PromptApiProvider, type PromptApiProviderOptions, type PropertyCellProps, type PropertyEditorProps, type PropertyHandler, type PropertyHandlerContribution, type Provenance, type ProvenanceResult, type ProvenanceVerifier, type QueryFilter, RSS_CONNECTOR_ID, type RatingSummary, type RecommendOptions, type RegisteredPlugin, type ResolveMentionOptions, type RightToLeavePorts, type RssConnectorOptions, type RunActionPorts, type RunConnectorSyncPorts, type RunPluginCodeInput, SCAFFOLD_SYSTEM_GUARD, SERVICE_IPC_CHANNELS, SLACK_CONNECTOR_ID, type SandboxOptions, ScaffoldError, type ScaffoldResult, type ScaffoldSpec, type ScaffoldTemplate, type SchemaContribution, type SchemaData, type SchemaDefinition, type SchemaProperty, type SchemaRegistryAPI, type ScriptContext, ScriptError, type ScriptExecutionResult, type ScriptExecutor, ScriptGenerationError, ScriptGenerator, type ScriptGeneratorOptions, type ScriptNode, type ScriptNodeChangeEvent, type ScriptOutputType, ScriptRunner, type ScriptRunnerOptions, ScriptSandbox, ScriptSchema, type ScriptStore, ScriptTimeoutError, type ScriptToManifestInput, type ScriptTriggerType, ScriptValidationError, type SemVer, type ServiceClient, type ServiceCommunication, type ServiceDefinition, type ServiceHealthCheck, type ServiceLifecycle, type ServiceOutputEvent, type ServiceProcessConfig, type ServiceProvides, type ServiceState, type ServiceStatus, type ServiceStatusEvent, type SettingContribution, type SettingsPanelProps, ShortcutManager, type SidebarContribution, type SlackConnectorOptions, type SlashCommandContext, type SlashCommandContribution, type StatusBarContribution, type SurfaceDockContribution, type SurfaceDockTier, type TelemetryReporter, type TestHarnessOptions, type TestNodeStore, type TestPluginHarness, type TextHelpers, type ToolCallingFidelity, type ToolbarContribution, TypedRegistry, type UsageSignal, type ValidationResult, type VerifyProvenanceInput, type ViewContribution, type ViewProps, type WebLLMEngineLike, WebLLMProvider, type WebLLMProviderOptions, type WebhookConfig, WebhookEmitter, type WebhookOutOptions, type WebhookPayload, type WidgetContribution, type WidgetContributionConfigField, type WidgetContributionProps, type WorkspaceCommand, type WrapCliConnectorOptions, type WriteMode, XNET_MARKDOWN_DIRECTIVE_SPECS, type XNetExtension, type XNetMarkdownDiffLine, type XNetMarkdownDiffLineKind, type XNetMarkdownDirective, type XNetMarkdownDirectiveSpec, type XNetMarkdownReviewDiff, type XNetPageMarkdownFrontmatter, type XNetPageMarkdownValidation, type XNetPageMarkdownValidationOptions, agentToolToExtraTool, agentToolsAsExtraTools, aggregateRatings, assertNetwork, assertPublicUrl, assertSchemaWrite, assertSystemAudio, assistTurnProvenance, attachAiPlanValidation, buildAirtableConnector, buildDiscordAction, buildEmailAction, buildGithubConnector, buildGoogleCalendarConnector, buildLinearConnector, buildNotionConnector, buildRetryPrompt, buildRssConnector, buildScriptPrompt, buildSlackConnector, buildSlackWebhookAction, buildTelegramAction, buildWebhookOutAction, classifyAiAgentDisplayState, compareVersions, composeAssistSystemPrompt, connectorAsImporter, connectorMarketplaceEntry, contributionsAsAiTools, createAIProvider, createAIProviderRouter, createAiAgentRuntime, createAiChangeSet, createAiOperation, createAiSurfaceService, createAiValidationResult, createCanvasErpPrototypeRiskSummary, createCanvasErpPrototypeScenario, createCanvasPluginFixtureCards, createCanvasPluginFixtureManifests, createCanvasPluginPermissionPrompt, createCanvasPluginSandboxPolicy, createCanvasPreviewSandboxRequest, createCanvasRendererSandboxRequest, createExtensionContext, createExtensionStorage, createManagedProvider, createMemoryAiAgentRuntimeStorage, createPromptApiProvider, createScriptContext, createServiceClient, createTestNodeStore, createTestPluginHarness, createWebLLMProvider, createWebhookEmitter, defaultLocalServerProbes, defineAction, defineConnector, defineExtension, defineFeatureModule, deleteDay, describeCapabilities, detectConnectors, detectUpcomingMeeting, downloadPromptApiModel, emitConnectorArtifacts, evaluateCanvasPluginPermissionGate, evaluateCanvasPluginSandboxRequest, evaluateConnectorInstall, evaluateInstallConsent, executeScript, failClosedVerifier, filterByCategory, findEditorSchemaRisks, findMissingDependencies, generateScript, getCanvasErpPrototypeAuditEntriesForCard, getCanvasErpPrototypeCardsForFrame, getCanvasPluginFixture, getCommandRegistry, getPlatformCapabilities, getShortcutManager, getXNetMarkdownDirectiveSpecs, guardStore, guardedActionFetch, guardedFetch, hasUpdate, importerAdapters, installCommandHandler, installShortcutHandler, isAiRiskLevel, isAiScope, isAiTargetKind, isAllowedPluginLicense, isHostCompatible, isNetworkAllowed, isOllamaAvailable, isPaidPricing, isSchemaDefiningExtension, isSchemaReadAllowed, isSchemaWriteAllowed, isScriptNode, isServiceClientAvailable, isSystemAudioAllowed, ladderTierForTrust, leaveWithEverything, listOllamaModels, matchSchemaIri, normalizeCanvasPluginWorkspacePolicy, packageName, parseAiMutationPlan, parseFeed, parseVersion, parseXNetPageFrontmatter, pascalCase, pickBestConnector, pluginLicenseText, probeOpenAiCompatible, promptApiAvailability, quickSafetyCheck, recommendExtensions, renderEvent, renderMarkdownLineDiff, renderMarkdownReviewDiff, renderSelectionPrompt, resolveImporters, resolveInstallOrder, resolveMentionProviders, runAction, runAiPluginPipeline, runConnectorSync, runPluginCode, satisfiesRange, scaffoldPlugin, scriptToPluginManifest, searchMarketplace, serializeAiMutationPlan, shortSchemaName, shouldDispatch, sortMarketplace, stripXNetPageFrontmatter, summarizeProvenance, validateAiMutationPlan, validateCanvasPluginSandboxOutput, validateManifest, validateScript, validateScriptAST, validateXNetPageMarkdown, verifyProvenance, warnOnEditorSchemaRisks, wrapCliConnector, writeModeFor };
|
package/dist/index.js
CHANGED
|
@@ -1838,6 +1838,19 @@ function isNetworkAllowed(caps, urlOrHost) {
|
|
|
1838
1838
|
return host === a;
|
|
1839
1839
|
});
|
|
1840
1840
|
}
|
|
1841
|
+
function isSystemAudioAllowed(caps) {
|
|
1842
|
+
return caps?.systemAudio === true;
|
|
1843
|
+
}
|
|
1844
|
+
function assertSystemAudio(caps, pluginId) {
|
|
1845
|
+
if (!isSystemAudioAllowed(caps)) {
|
|
1846
|
+
throw new CapabilityError(
|
|
1847
|
+
`Plugin '${pluginId}' lacks systemAudio capability`,
|
|
1848
|
+
pluginId,
|
|
1849
|
+
"systemAudio",
|
|
1850
|
+
"system-audio"
|
|
1851
|
+
);
|
|
1852
|
+
}
|
|
1853
|
+
}
|
|
1841
1854
|
function assertSchemaWrite(caps, iri, pluginId) {
|
|
1842
1855
|
if (!isSchemaWriteAllowed(caps, iri)) {
|
|
1843
1856
|
throw new CapabilityError(
|
|
@@ -2165,6 +2178,9 @@ function describeCapabilities(caps) {
|
|
|
2165
2178
|
for (const endowment of caps.endowments ?? []) {
|
|
2166
2179
|
lines.push({ icon: "plug", text: `Use host API: ${endowment}`, danger: false });
|
|
2167
2180
|
}
|
|
2181
|
+
if (caps.systemAudio) {
|
|
2182
|
+
lines.push({ icon: "plug", text: "Capture system audio during meetings", danger: true });
|
|
2183
|
+
}
|
|
2168
2184
|
return lines;
|
|
2169
2185
|
}
|
|
2170
2186
|
function evaluateInstallConsent(provenance, caps) {
|
|
@@ -2490,6 +2506,80 @@ function buildRssConnector(options) {
|
|
|
2490
2506
|
});
|
|
2491
2507
|
}
|
|
2492
2508
|
|
|
2509
|
+
// src/connectors/calendar.ts
|
|
2510
|
+
var GOOGLE_CALENDAR_CONNECTOR_ID = "dev.xnet.connector.google-calendar";
|
|
2511
|
+
var MEETING_SCHEMA = "xnet://xnet.fyi/Meeting@1.0.0";
|
|
2512
|
+
var LOOKAHEAD_MS = 7 * 24 * 60 * 60 * 1e3;
|
|
2513
|
+
var MAX_EVENTS = 250;
|
|
2514
|
+
function attendeeNames(event) {
|
|
2515
|
+
return (event.attendees ?? []).filter((a) => !a.self).map((a) => a.displayName || a.email || "").filter((name) => name.length > 0);
|
|
2516
|
+
}
|
|
2517
|
+
var eventStartMs = (event) => {
|
|
2518
|
+
const raw = event.start?.dateTime ?? event.start?.date;
|
|
2519
|
+
if (!raw) return void 0;
|
|
2520
|
+
const parsed = Date.parse(raw);
|
|
2521
|
+
return Number.isFinite(parsed) ? parsed : void 0;
|
|
2522
|
+
};
|
|
2523
|
+
function detectUpcomingMeeting(events, now, windowMs = 5 * 60 * 1e3) {
|
|
2524
|
+
return events.filter((e) => e.status !== "cancelled" && eventStartMs(e) !== void 0).sort((a, b) => (eventStartMs(a) ?? 0) - (eventStartMs(b) ?? 0)).find((e) => {
|
|
2525
|
+
const start = eventStartMs(e) ?? 0;
|
|
2526
|
+
return start - now <= windowMs && start - now > -windowMs;
|
|
2527
|
+
});
|
|
2528
|
+
}
|
|
2529
|
+
function buildGoogleCalendarConnector(options = {}) {
|
|
2530
|
+
const id = options.id ?? GOOGLE_CALENDAR_CONNECTOR_ID;
|
|
2531
|
+
const calendarId = options.calendarId ?? "primary";
|
|
2532
|
+
const now = options.now ?? Date.now;
|
|
2533
|
+
return defineConnector({
|
|
2534
|
+
id,
|
|
2535
|
+
name: "Google Calendar",
|
|
2536
|
+
description: "Detect upcoming meetings from your calendar and pre-create meeting notes with title + attendees.",
|
|
2537
|
+
capabilities: {
|
|
2538
|
+
secrets: ["GOOGLE_CALENDAR_TOKEN"],
|
|
2539
|
+
schemaWrite: [MEETING_SCHEMA],
|
|
2540
|
+
network: ["www.googleapis.com"]
|
|
2541
|
+
},
|
|
2542
|
+
sync: {
|
|
2543
|
+
schemas: [MEETING_SCHEMA],
|
|
2544
|
+
cadence: "hourly",
|
|
2545
|
+
async pull(ctx) {
|
|
2546
|
+
const token = ctx.env.GOOGLE_CALENDAR_TOKEN;
|
|
2547
|
+
if (!token) {
|
|
2548
|
+
throw new Error(`${id}: missing GOOGLE_CALENDAR_TOKEN (hub secret broker)`);
|
|
2549
|
+
}
|
|
2550
|
+
const timeMin = new Date(now()).toISOString();
|
|
2551
|
+
const timeMax = new Date(now() + LOOKAHEAD_MS).toISOString();
|
|
2552
|
+
const url = `https://www.googleapis.com/calendar/v3/calendars/${encodeURIComponent(calendarId)}/events?singleEvents=true&orderBy=startTime&maxResults=${MAX_EVENTS}&timeMin=${encodeURIComponent(timeMin)}&timeMax=${encodeURIComponent(timeMax)}`;
|
|
2553
|
+
const response = await ctx.fetch(url, {
|
|
2554
|
+
headers: { Authorization: `Bearer ${token}` }
|
|
2555
|
+
});
|
|
2556
|
+
if (response && response.ok === false) {
|
|
2557
|
+
throw new Error(`${id}: events.list \u2192 HTTP ${response.status}`);
|
|
2558
|
+
}
|
|
2559
|
+
const body = typeof response?.json === "function" ? await response.json() : response;
|
|
2560
|
+
let written = 0;
|
|
2561
|
+
for (const event of body?.items ?? []) {
|
|
2562
|
+
if (!event.id || event.status === "cancelled") continue;
|
|
2563
|
+
const startedAt = eventStartMs(event);
|
|
2564
|
+
const title = event.summary?.trim();
|
|
2565
|
+
if (!title || startedAt === void 0) continue;
|
|
2566
|
+
await ctx.store.create({
|
|
2567
|
+
schemaId: MEETING_SCHEMA,
|
|
2568
|
+
properties: {
|
|
2569
|
+
title,
|
|
2570
|
+
startedAt,
|
|
2571
|
+
calendarEventId: `google:${calendarId}:${event.id}`,
|
|
2572
|
+
attendees: attendeeNames(event)
|
|
2573
|
+
}
|
|
2574
|
+
});
|
|
2575
|
+
written++;
|
|
2576
|
+
}
|
|
2577
|
+
return { written };
|
|
2578
|
+
}
|
|
2579
|
+
}
|
|
2580
|
+
});
|
|
2581
|
+
}
|
|
2582
|
+
|
|
2493
2583
|
// src/connectors/api-connectors.ts
|
|
2494
2584
|
var EXTERNAL_ITEM_SCHEMA = "xnet://xnet.fyi/ExternalItem@1.0.0";
|
|
2495
2585
|
var MAX_PAGES = 20;
|
|
@@ -12026,6 +12116,7 @@ export {
|
|
|
12026
12116
|
EXTERNAL_ITEM_SCHEMA,
|
|
12027
12117
|
FEED_ITEM_SCHEMA,
|
|
12028
12118
|
GITHUB_CONNECTOR_ID,
|
|
12119
|
+
GOOGLE_CALENDAR_CONNECTOR_ID,
|
|
12029
12120
|
LEAVE_README,
|
|
12030
12121
|
LINEAR_CONNECTOR_ID,
|
|
12031
12122
|
LicenseRequiredError,
|
|
@@ -12068,12 +12159,14 @@ export {
|
|
|
12068
12159
|
assertNetwork,
|
|
12069
12160
|
assertPublicUrl,
|
|
12070
12161
|
assertSchemaWrite,
|
|
12162
|
+
assertSystemAudio,
|
|
12071
12163
|
assistTurnProvenance,
|
|
12072
12164
|
attachAiPlanValidation,
|
|
12073
12165
|
buildAirtableConnector,
|
|
12074
12166
|
buildDiscordAction,
|
|
12075
12167
|
buildEmailAction,
|
|
12076
12168
|
buildGithubConnector,
|
|
12169
|
+
buildGoogleCalendarConnector,
|
|
12077
12170
|
buildLinearConnector,
|
|
12078
12171
|
buildNotionConnector,
|
|
12079
12172
|
buildRetryPrompt,
|
|
@@ -12124,6 +12217,7 @@ export {
|
|
|
12124
12217
|
deriveTrustTier,
|
|
12125
12218
|
describeCapabilities,
|
|
12126
12219
|
detectConnectors,
|
|
12220
|
+
detectUpcomingMeeting,
|
|
12127
12221
|
downloadPromptApiModel,
|
|
12128
12222
|
emitConnectorArtifacts,
|
|
12129
12223
|
evaluateCanvasPluginPermissionGate,
|
|
@@ -12163,6 +12257,7 @@ export {
|
|
|
12163
12257
|
isSchemaWriteAllowed,
|
|
12164
12258
|
isScriptNode,
|
|
12165
12259
|
isServiceClientAvailable,
|
|
12260
|
+
isSystemAudioAllowed,
|
|
12166
12261
|
ladderTierForTrust,
|
|
12167
12262
|
leaveWithEverything,
|
|
12168
12263
|
listOllamaModels,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xnetjs/plugins",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -30,10 +30,10 @@
|
|
|
30
30
|
},
|
|
31
31
|
"dependencies": {
|
|
32
32
|
"acorn": "^8.15.0",
|
|
33
|
-
"@xnetjs/abuse": "0.
|
|
34
|
-
"@xnetjs/core": "0.
|
|
33
|
+
"@xnetjs/abuse": "0.5.0",
|
|
34
|
+
"@xnetjs/core": "0.5.0",
|
|
35
35
|
"@xnetjs/trust": "0.0.2",
|
|
36
|
-
"@xnetjs/data": "0.
|
|
36
|
+
"@xnetjs/data": "0.5.0",
|
|
37
37
|
"@xnetjs/slack-compat": "0.0.2"
|
|
38
38
|
},
|
|
39
39
|
"peerDependencies": {
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
"tsup": "^8.0.0",
|
|
49
49
|
"typescript": "^5.4.0",
|
|
50
50
|
"vitest": "^4.0.0",
|
|
51
|
-
"@xnetjs/licenses": "0.0.
|
|
51
|
+
"@xnetjs/licenses": "0.0.9"
|
|
52
52
|
},
|
|
53
53
|
"scripts": {
|
|
54
54
|
"build": "tsup",
|