@arnilo/prism 0.0.15 → 0.0.17
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/CHANGELOG.md +31 -0
- package/dist/agent-definitions.js +2 -3
- package/dist/agent-loops.js +12 -7
- package/dist/agent-run-lifecycle.d.ts +1 -2
- package/dist/agent-run-lifecycle.js +1 -1
- package/dist/agent-run-state.js +29 -4
- package/dist/agents.d.ts +1 -1
- package/dist/agents.js +163 -61
- package/dist/cache-helpers.js +18 -9
- package/dist/checkpoints.d.ts +4 -0
- package/dist/checkpoints.js +17 -9
- package/dist/cli-init.js +3 -7
- package/dist/cli-runner.d.ts +2 -6
- package/dist/cli-runner.js +71 -33
- package/dist/compaction.js +5 -4
- package/dist/config.js +7 -4
- package/dist/content.js +26 -24
- package/dist/context-budget.js +18 -11
- package/dist/contracts.d.ts +16 -3
- package/dist/contracts.js +4 -1
- package/dist/contribution-parsing.js +6 -2
- package/dist/contributions.d.ts +2 -0
- package/dist/contributions.js +3 -0
- package/dist/conversations.js +2 -1
- package/dist/credentials.d.ts +8 -2
- package/dist/credentials.js +9 -3
- package/dist/event-multiplexer.js +18 -4
- package/dist/extensions.d.ts +7 -1
- package/dist/extensions.js +64 -6
- package/dist/feedback.js +12 -10
- package/dist/guardrails.d.ts +1 -1
- package/dist/guardrails.js +26 -17
- package/dist/identity.js +10 -2
- package/dist/index.d.ts +82 -83
- package/dist/index.js +42 -42
- package/dist/input.d.ts +2 -2
- package/dist/input.js +50 -27
- package/dist/instruction-injection.d.ts +1 -1
- package/dist/middleware.js +9 -1
- package/dist/models.d.ts +2 -0
- package/dist/models.js +3 -0
- package/dist/node/agent-definitions.js +16 -8
- package/dist/node/contribution-discovery.d.ts +1 -2
- package/dist/node/contribution-discovery.js +3 -3
- package/dist/node/session-store-jsonl.js +10 -7
- package/dist/node/settings.d.ts +1 -1
- package/dist/node/settings.js +1 -1
- package/dist/node/system-project-prompts.js +2 -4
- package/dist/node/trust.js +1 -1
- package/dist/persistence-lifecycle.js +1 -3
- package/dist/provider-events.js +3 -1
- package/dist/provider-request-policy.js +3 -4
- package/dist/providers/media.d.ts +1 -1
- package/dist/providers/openai-compatible.d.ts +42 -1
- package/dist/providers/openai-compatible.js +110 -49
- package/dist/providers/openai-primitives.js +7 -7
- package/dist/providers/transport.d.ts +6 -0
- package/dist/providers/transport.js +21 -0
- package/dist/providers.d.ts +2 -0
- package/dist/providers.js +3 -0
- package/dist/redaction.d.ts +1 -0
- package/dist/redaction.js +26 -9
- package/dist/resources.d.ts +2 -2
- package/dist/resources.js +2 -2
- package/dist/retry.d.ts +5 -0
- package/dist/retry.js +8 -1
- package/dist/rpc.js +42 -9
- package/dist/run-ledger.d.ts +6 -0
- package/dist/run-ledger.js +16 -13
- package/dist/run-limits.js +49 -10
- package/dist/secure-agent.js +1 -1
- package/dist/security.js +7 -2
- package/dist/session-stores.d.ts +1 -1
- package/dist/session-stores.js +28 -24
- package/dist/structured-output.js +2 -2
- package/dist/system-prompts.js +7 -2
- package/dist/testing/compaction-conformance.js +5 -1
- package/dist/testing/extension-conformance.js +15 -3
- package/dist/testing/feedback.d.ts +1 -3
- package/dist/testing/feedback.js +1 -1
- package/dist/testing/persistence-schema.js +206 -37
- package/dist/testing/provider-conformance.js +3 -3
- package/dist/testing/run-ledger-conformance.js +1 -1
- package/dist/testing/session-store-conformance.js +1 -1
- package/dist/testing/tool-conformance.js +30 -5
- package/dist/thinking.js +4 -1
- package/dist/tools.d.ts +2 -2
- package/dist/tools.js +24 -5
- package/docs/0.1.0-readiness.md +139 -0
- package/docs/agent-events.md +2 -1
- package/docs/agent-session-runtime.md +2 -2
- package/docs/cli-rpc.md +1 -5
- package/docs/coding-agent-tools.md +2 -0
- package/docs/compaction-and-retry.md +3 -1
- package/docs/contribution-registries.md +1 -0
- package/docs/credentials-and-redaction.md +1 -1
- package/docs/extensions.md +1 -1
- package/docs/guardrails.md +13 -2
- package/docs/index.md +4 -2
- package/docs/input-and-prompt-assembly.md +3 -3
- package/docs/middleware-hooks.md +2 -2
- package/docs/migration.md +40 -0
- package/docs/performance.md +33 -0
- package/docs/providers/openai-compatible.md +28 -1
- package/docs/public-contracts.md +2 -2
- package/docs/release-and-install.md +127 -17
- package/docs/session-stores.md +1 -1
- package/package.json +14 -6
- package/docs/review-coverage-2026-07-14.md +0 -260
- package/docs/review-coverage-2026-07-15.md +0 -193
- package/docs/review-coverage-2026-07-17-provider-validation.md +0 -192
- package/docs/review-coverage-2026-07-19-phase-3.md +0 -174
- package/docs/review-coverage-2026-07-20-phase-4.md +0 -175
- package/docs/review-coverage-2026-07-21-phase-5.md +0 -172
- package/docs/review-coverage-2026-07-22-phase-6.md +0 -209
- package/docs/review-coverage-2026-07-22-phase-7.md +0 -173
- package/docs/review-coverage-2026-07-23-phase-8.md +0 -245
- package/docs/review-coverage-2026-07-25-phase-9.md +0 -256
- package/docs/review-coverage-2026-07-26-phase-10.md +0 -132
package/dist/index.d.ts
CHANGED
|
@@ -1,99 +1,98 @@
|
|
|
1
|
-
export
|
|
2
|
-
export
|
|
3
|
-
export {
|
|
4
|
-
export { createAgent, createAgentSession, resumeAgentRun, resumeAgentRunStream } from "./agents.js";
|
|
5
|
-
export { createBatchedRunLedger, isFlushableRunLedger, DEFAULT_LEDGER_BATCH_ENTRIES, HARD_LEDGER_BATCH_ENTRIES, DEFAULT_LEDGER_BATCH_BYTES, HARD_LEDGER_BATCH_BYTES, DEFAULT_LEDGER_BATCH_DELAY_MS, HARD_LEDGER_BATCH_DELAY_MS, } from "./run-ledger.js";
|
|
6
|
-
export type { BatchedRunLedgerOptions } from "./run-ledger.js";
|
|
7
|
-
export { createSecureAgent } from "./secure-agent.js";
|
|
8
|
-
export { createMemoryRunFeedbackStore, prepareRunFeedback, requireRunFeedbackOwnership, runFeedbackPageLimit, RunFeedbackError, } from "./feedback.js";
|
|
9
|
-
export type { MemoryRunFeedbackStoreOptions, PrepareRunFeedbackOptions, RunFeedbackLimits, RunFeedbackRun, RunFeedbackRunResolver, } from "./feedback.js";
|
|
10
|
-
export { CHECKPOINT_CONFLICT_CODE, CheckpointConflictError, createMemoryCheckpointStore } from "./checkpoints.js";
|
|
11
|
-
export { AGENT_RUN_STATE_NAMESPACE, AGENT_RUN_STATE_SCHEMA_VERSION, DEFAULT_MAX_AGENT_RUN_STATE_BYTES, HARD_MAX_AGENT_RUN_STATE_BYTES, agentFingerprint, loadAgentRunState } from "./agent-run-state.js";
|
|
12
|
-
export type { StoredAgentRunState } from "./agent-run-state.js";
|
|
1
|
+
export { resolveAgentDefinition } from "./agent-definitions.js";
|
|
2
|
+
export { dispatchToolCallsInOrder, generateValidateReviseLoop, isAgentLoopOptions, resolveLoop, resolveToolConcurrency, singleShotLoop, } from "./agent-loops.js";
|
|
3
|
+
export type { AgentRunLifecycle, AgentRunLifecycleAgent, AgentRunLifecycleOptions, AgentRunLifecycleRequest, AgentRunLifecycleStreamRequest, } from "./agent-run-lifecycle.js";
|
|
13
4
|
export { createAgentRunLifecycle } from "./agent-run-lifecycle.js";
|
|
14
|
-
export type {
|
|
15
|
-
export
|
|
16
|
-
export {
|
|
17
|
-
export {
|
|
18
|
-
export
|
|
19
|
-
export {
|
|
20
|
-
export type { EventMultiplexer, EventMultiplexerOptions, EventOverflowInfo, EventOverflowPolicy } from "./event-multiplexer.js";
|
|
5
|
+
export type { StoredAgentRunState } from "./agent-run-state.js";
|
|
6
|
+
export { AGENT_RUN_STATE_NAMESPACE, AGENT_RUN_STATE_SCHEMA_VERSION, agentFingerprint, DEFAULT_MAX_AGENT_RUN_STATE_BYTES, HARD_MAX_AGENT_RUN_STATE_BYTES, loadAgentRunState, } from "./agent-run-state.js";
|
|
7
|
+
export { createAgent, createAgentSession, resumeAgentRun, resumeAgentRunStream } from "./agents.js";
|
|
8
|
+
export type { ArtifactApproval, ArtifactApprovalState, ArtifactCitation, ArtifactDecisionState, ArtifactDeliveryToken, ArtifactRecord, ArtifactRevision, } from "./artifacts.js";
|
|
9
|
+
export { ARTIFACT_CHECKPOINT_NAMESPACE, ArtifactError, artifactApprovalState, artifactCheckpointKey, } from "./artifacts.js";
|
|
10
|
+
export type { ApplyCacheControlOptions, CacheControlledContentBlock, CacheControlledMessage, CacheControlValue, CacheUsageReport, } from "./cache-helpers.js";
|
|
21
11
|
export { applyCacheControl, cacheHitRate, cacheSavings, cacheUsageReport, mapCacheRetention, sanitizeCacheKey } from "./cache-helpers.js";
|
|
22
|
-
export type {
|
|
23
|
-
export {
|
|
24
|
-
export { parseSkillFile, parseAgentFile } from "./contribution-parsing.js";
|
|
25
|
-
export { assertJsonObject, isJsonObject, loadConfigLayers, mergeConfigLayers } from "./config.js";
|
|
26
|
-
export type { ConfigLayer, ConfigLoadContext, ConfigProvider } from "./config.js";
|
|
27
|
-
export { createDefaultCompactionStrategy, isCompactionEntryData } from "./compaction.js";
|
|
12
|
+
export type { MemoryCheckpointStoreOptions } from "./checkpoints.js";
|
|
13
|
+
export { CHECKPOINT_CONFLICT_CODE, CheckpointConflictError, createMemoryCheckpointStore } from "./checkpoints.js";
|
|
28
14
|
export type { DefaultCompactionStrategyOptions } from "./compaction.js";
|
|
29
|
-
export {
|
|
30
|
-
export type {
|
|
31
|
-
export {
|
|
32
|
-
export type { ContributionRegistries, ContributionRegistriesOptions, ContributionRegistry, ContributionRegistryOptions } from "./contributions.js";
|
|
33
|
-
export { createChainedCredentialResolver, createEnvCredentialResolver, createExplicitCredentialResolver, createMemoryCredentialStore, refreshOAuthCredential, revokeOAuthCredential, resolveCredentialValue } from "./credentials.js";
|
|
34
|
-
export { createExtensionEventBus, createExtensionKernel } from "./extensions.js";
|
|
35
|
-
export type { ExtensionErrorPolicy, ExtensionEventBus, ExtensionEventHandler, ExtensionKernel, ExtensionKernelOptions, ExtensionLoadPolicy } from "./extensions.js";
|
|
36
|
-
export type { CredentialRecord, CredentialValueSource, MemoryCredentialStore, RevocableOAuthCredentialStore } from "./credentials.js";
|
|
37
|
-
export { createModelRegistry } from "./models.js";
|
|
38
|
-
export { authMethodKey, defineProviderPackage, systemPromptContributionKey } from "./provider-packages.js";
|
|
39
|
-
export { assertStructuredOutputRequestSupported, artifactStructuredOutputRequest, DEFAULT_MAX_STRUCTURED_OUTPUT_NAME_LENGTH, DEFAULT_MAX_STRUCTURED_OUTPUT_SCHEMA_BYTES, modelSupportsStructuredOutput, resolveRunProviderOptions, StructuredOutputError, validateStructuredOutputOptions, withoutStructuredOutput, } from "./structured-output.js";
|
|
40
|
-
export { createProviderTurnMetadata, readProviderHttpStatus } from "./observability.js";
|
|
41
|
-
export { createProviderRequestPolicyChain, createSessionCachePolicy, mergeProviderRequestOptions } from "./provider-request-policy.js";
|
|
42
|
-
export type { SessionCachePolicyOptions } from "./provider-request-policy.js";
|
|
43
|
-
export { THINKING_LEVELS, applyThinkingLevel, isThinkingLevel, normalizeThinkingLevel, thinkingCompatFor, thinkingFamilyForModel, } from "./thinking.js";
|
|
44
|
-
export type { ThinkingCompatFamily, ThinkingLevel } from "./thinking.js";
|
|
45
|
-
export { resolveUseCaseModel, resolveUseCaseModelBinding, useCaseCredentialProviderId, } from "./use-case-model.js";
|
|
46
|
-
export type { ResolveUseCaseModelInput, ResolvedUseCaseModel, UseCaseModelBinding, } from "./use-case-model.js";
|
|
47
|
-
export { composeSystemPrompt, mergeSystemPromptConfig } from "./system-prompts.js";
|
|
48
|
-
export type { ComposeSystemPromptOptions } from "./system-prompts.js";
|
|
49
|
-
export type { ModelRegistry, ModelRegistryOptions } from "./models.js";
|
|
50
|
-
export { definePrismManifest, parsePrismManifest } from "./manifests.js";
|
|
51
|
-
export type { ManifestContributionDeclaration, ManifestContributionKind, ManifestResourceDeclaration, PrismManifest } from "./manifests.js";
|
|
52
|
-
export { assertDeclaredMediaTypeMatches, assertMediaBlocksWithinBounds, assertMessagesSupportModelCapabilities, assertModelSupportsContentBlocks, assertSsrfAllowedUrl, collectMessageContentBlocks, contentBlockInputModality, DEFAULT_MAX_AUDIO_DURATION_MS, DEFAULT_MAX_MEDIA_ITEM_BYTES, DEFAULT_MAX_MEDIA_ITEMS_PER_REQUEST, DEFAULT_MAX_MEDIA_REQUEST_BYTES, DEFAULT_MEDIA_FETCH_TIMEOUT_MS, loadBoundedBinaryResource, MediaContentError, MODEL_INPUT_CAPABILITIES, resolveMediaContentBlock, resolveMediaContentBlocks, sniffMediaMimeType, UnsupportedModalityError, } from "./content.js";
|
|
15
|
+
export { createDefaultCompactionStrategy, isCompactionEntryData } from "./compaction.js";
|
|
16
|
+
export type { ConfigLayer, ConfigLoadContext, ConfigProvider } from "./config.js";
|
|
17
|
+
export { assertJsonObject, isJsonObject, loadConfigLayers, mergeConfigLayers } from "./config.js";
|
|
53
18
|
export type { AudioContent, DocumentContent, FileContent, MediaContentBlock, MediaContentBounds, MediaHostAddress, MediaHostnameResolver, MediaMimePolicy, MediaUrlRequest, MediaUrlRequester, ModelInputCapability, ResolvedMediaContent, ResolveMediaContentOptions, SsrfPolicy, } from "./content.js";
|
|
54
|
-
export {
|
|
55
|
-
export type { LoadBinaryResourceOptions } from "./resources.js";
|
|
56
|
-
export { createChainedSettingsProvider, createStaticSettingsProvider } from "./settings.js";
|
|
57
|
-
export { createMiddlewareRegistry } from "./middleware.js";
|
|
58
|
-
export type { Middleware, MiddlewareHookName, MiddlewareNext, MiddlewareRegistry, MiddlewareRegistryOptions } from "./middleware.js";
|
|
59
|
-
export { assembleProviderInput, createDefaultInputBuilder, createDefaultPromptBuilder, renderPromptTemplate, resolveContextProviders } from "./input.js";
|
|
60
|
-
export { applyContextBudget, CONTEXT_BUDGET_ERROR_CODE, CONTEXT_BUDGET_REPORT_METADATA_KEY, ContextBudgetError, DEFAULT_MAX_CONTEXT_BUDGET_OMISSIONS, estimateAssemblyTokens, estimateMessageBytes, estimateMessageTokens, estimateTextBytes, estimateTextTokens, getContextBudgetReport, HARD_MAX_CONTEXT_BUDGET_BYTES, HARD_MAX_CONTEXT_BUDGET_OMISSIONS, HARD_MAX_CONTEXT_BUDGET_TOKENS, isContextBudgetError, resolveContextBudget, } from "./context-budget.js";
|
|
19
|
+
export { assertDeclaredMediaTypeMatches, assertMediaBlocksWithinBounds, assertMessagesSupportModelCapabilities, assertModelSupportsContentBlocks, assertSsrfAllowedUrl, collectMessageContentBlocks, contentBlockInputModality, DEFAULT_MAX_AUDIO_DURATION_MS, DEFAULT_MAX_MEDIA_ITEM_BYTES, DEFAULT_MAX_MEDIA_ITEMS_PER_REQUEST, DEFAULT_MAX_MEDIA_REQUEST_BYTES, DEFAULT_MEDIA_FETCH_TIMEOUT_MS, loadBoundedBinaryResource, MediaContentError, MODEL_INPUT_CAPABILITIES, resolveMediaContentBlock, resolveMediaContentBlocks, sniffMediaMimeType, UnsupportedModalityError, } from "./content.js";
|
|
61
20
|
export type { ContextBudget, ContextBudgetMessageGroups, ContextBudgetOmission, ContextBudgetOmissionKind, ContextBudgetReport, } from "./context-budget.js";
|
|
62
|
-
export
|
|
63
|
-
export
|
|
64
|
-
export {
|
|
65
|
-
export {
|
|
21
|
+
export { applyContextBudget, CONTEXT_BUDGET_ERROR_CODE, CONTEXT_BUDGET_REPORT_METADATA_KEY, ContextBudgetError, DEFAULT_MAX_CONTEXT_BUDGET_OMISSIONS, estimateAssemblyTokens, estimateMessageBytes, estimateMessageTokens, estimateTextBytes, estimateTextTokens, getContextBudgetReport, HARD_MAX_CONTEXT_BUDGET_BYTES, HARD_MAX_CONTEXT_BUDGET_OMISSIONS, HARD_MAX_CONTEXT_BUDGET_TOKENS, isContextBudgetError, resolveContextBudget, } from "./context-budget.js";
|
|
22
|
+
export type * from "./contracts.js";
|
|
23
|
+
export type { ProviderResolver, RealtimeCaps, RealtimeEvent, RealtimeSession, RealtimeSessionFactory, RealtimeSessionOptions, RunLimitCounters, RunLimitName, SecureAgentOptions, ToolCallAuthority, } from "./contracts.js";
|
|
24
|
+
export { AgentRunError, AgentRunStateError, assertSessionMetadataKey, DEFAULT_MAX_PENDING_STEER_BYTES, DEFAULT_MAX_PENDING_STEERS, DEFAULT_MAX_SESSION_SEARCH_CURSOR_BYTES, DEFAULT_MAX_SESSION_SEARCH_FTS_CANDIDATES, DEFAULT_MAX_SESSION_SEARCH_LINEAR_BYTES, DEFAULT_MAX_SESSION_SEARCH_LINEAR_ENTRIES, DEFAULT_MAX_SESSION_SEARCH_LINEAR_SESSIONS, DEFAULT_MAX_SESSION_SEARCH_QUERY_BYTES, DEFAULT_MAX_SESSION_SEARCH_SNIPPET_BYTES, DEFAULT_SESSION_SEARCH_LIMIT, HARD_MAX_PENDING_STEER_BYTES, HARD_MAX_PENDING_STEERS, HARD_MAX_SESSION_SEARCH_CURSOR_BYTES, HARD_MAX_SESSION_SEARCH_FTS_CANDIDATES, HARD_MAX_SESSION_SEARCH_LIMIT, HARD_MAX_SESSION_SEARCH_LINEAR_BYTES, HARD_MAX_SESSION_SEARCH_LINEAR_ENTRIES, HARD_MAX_SESSION_SEARCH_LINEAR_SESSIONS, HARD_MAX_SESSION_SEARCH_QUERY_BYTES, HARD_MAX_SESSION_SEARCH_SNIPPET_BYTES, isSessionAppendConflict, isSessionEntryKind, isSessionSearchUnsupported, resolveSessionSearchQuery, SESSION_APPEND_CONFLICT_CODE, SESSION_ENTRY_KINDS, SESSION_ENTRY_SCHEMA_VERSION, SESSION_SEARCH_UNSUPPORTED_CODE, SESSION_SEARCH_WORKSPACE_METADATA_KEY, SessionAppendConflictError, SessionSearchUnsupportedError, } from "./contracts.js";
|
|
25
|
+
export { parseAgentFile, parseSkillFile } from "./contribution-parsing.js";
|
|
26
|
+
export type { ContributionRegistries, ContributionRegistriesOptions, ContributionRegistry, ContributionRegistryOptions, } from "./contributions.js";
|
|
27
|
+
export { createContributionRegistries, createContributionRegistry, registerDiscoveredContributions } from "./contributions.js";
|
|
66
28
|
export type { ConversationBranchRef, ConversationReplayCursor, ConversationThread, ConversationThreadState, } from "./conversations.js";
|
|
67
|
-
export {
|
|
68
|
-
export type {
|
|
69
|
-
export {
|
|
29
|
+
export { CONVERSATION_METADATA_KEY, ConversationError, conversationMarkerMetadata, conversationThreadFromRecord, DEFAULT_MAX_CONVERSATION_CURSOR_BYTES, decodeConversationReplayCursor, encodeConversationReplayCursor, HARD_MAX_CONVERSATION_CURSOR_BYTES, } from "./conversations.js";
|
|
30
|
+
export type { CredentialRecord, CredentialValueSource, MemoryCredentialStore, RevocableOAuthCredentialStore } from "./credentials.js";
|
|
31
|
+
export { createChainedCredentialResolver, createEnvCredentialResolver, createExplicitCredentialResolver, createMemoryCredentialStore, refreshOAuthCredential, resolveCredentialValue, revokeOAuthCredential, } from "./credentials.js";
|
|
70
32
|
export type { DeviceAdapter, DeviceAdmitRequest, DeviceChunkResult, DeviceConformanceResult, DeviceKind, DevicePolicyErrorCode, DevicePolicyOptions, DeviceStreamLimits, ResolvedDevicePolicy, } from "./devices.js";
|
|
71
|
-
export
|
|
33
|
+
export { acceptDeviceChunk, assertDeviceAdmit, DEFAULT_DEVICE_MAX_CHUNK_BYTES, DEFAULT_DEVICE_MAX_CONCURRENT_SESSIONS, DevicePolicyError, HARD_DEVICE_MAX_CHUNK_BYTES, HARD_DEVICE_MAX_CONCURRENT_SESSIONS, redactDeviceTelemetry, resolveDevicePolicy, runDevicePolicyConformance, } from "./devices.js";
|
|
34
|
+
export type { EventMultiplexer, EventMultiplexerOptions, EventOverflowInfo, EventOverflowPolicy } from "./event-multiplexer.js";
|
|
35
|
+
export { createEventMultiplexer } from "./event-multiplexer.js";
|
|
36
|
+
export type { ExecutionAction, ExecutionDecision, ExecutionPolicy, ExecutionRisk } from "./execution-policy.js";
|
|
37
|
+
export { applyExecutionDecision, assertExecutionAllowed, checkExecution, ExecutionDeniedError } from "./execution-policy.js";
|
|
38
|
+
export type { ExtensionErrorPolicy, ExtensionEventBus, ExtensionEventHandler, ExtensionKernel, ExtensionKernelOptions, ExtensionLoadPolicy, LoadedExtension, } from "./extensions.js";
|
|
39
|
+
export { createExtensionEventBus, createExtensionKernel } from "./extensions.js";
|
|
40
|
+
export type { MemoryRunFeedbackStoreOptions, PrepareRunFeedbackOptions, RunFeedbackLimits, RunFeedbackRun, RunFeedbackRunResolver, } from "./feedback.js";
|
|
41
|
+
export { createMemoryRunFeedbackStore, prepareRunFeedback, RunFeedbackError, requireRunFeedbackOwnership, runFeedbackPageLimit, } from "./feedback.js";
|
|
42
|
+
export type { GuardrailRunResult, RunGuardrailsOptions, } from "./guardrails.js";
|
|
43
|
+
export { assertGuardrailsAllowed, GuardrailError, MAX_GUARDRAIL_CONCURRENCY, runGuardrails } from "./guardrails.js";
|
|
44
|
+
export type { AgentIdentity, AssertIdentityActiveOptions, IdentityLimits, IdentityVerifier, NarrowIdentityOptions, Principal, ResolvedIdentityLimits, } from "./identity.js";
|
|
45
|
+
export { assertIdentityActive, assertIdentityMatchesOwnership, assertIdentityPropagation, DEFAULT_IDENTITY_LIMITS, HARD_IDENTITY_LIMITS, IdentityError, identityTelemetryAttributes, narrowIdentity, ownershipFromIdentity, resolveIdentityLimits, resolveRunIdentity, } from "./identity.js";
|
|
46
|
+
export type { AgentInput, AssembleProviderInputOptions, DefaultInputBuildContext, DefaultInputBuilder, DefaultPromptBuilder, InputAttachment, PromptInstruction, PromptTemplateOptions, ResolveContextOptions, } from "./input.js";
|
|
47
|
+
export { assembleProviderInput, createDefaultInputBuilder, createDefaultPromptBuilder, renderPromptTemplate, resolveContextProviders, } from "./input.js";
|
|
48
|
+
export type { ResolveInstructionInjectorsOptions } from "./instruction-injection.js";
|
|
49
|
+
export { resolveInstructionInjectors, runInstructionInjectors } from "./instruction-injection.js";
|
|
50
|
+
export { createMemoryLeaseStore, LEASE_CONFLICT_CODE, LeaseConflictError } from "./leases.js";
|
|
51
|
+
export type { ManifestContributionDeclaration, ManifestContributionKind, ManifestResourceDeclaration, PrismManifest } from "./manifests.js";
|
|
52
|
+
export { definePrismManifest, parsePrismManifest } from "./manifests.js";
|
|
53
|
+
export type { Middleware, MiddlewareHookName, MiddlewareNext, MiddlewareRegistry, MiddlewareRegistryOptions } from "./middleware.js";
|
|
54
|
+
export { createMiddlewareRegistry } from "./middleware.js";
|
|
72
55
|
export type { MockProviderOptions } from "./mock-provider.js";
|
|
56
|
+
export { createMockProvider } from "./mock-provider.js";
|
|
57
|
+
export type { ModelRegistry, ModelRegistryOptions } from "./models.js";
|
|
58
|
+
export { createModelRegistry } from "./models.js";
|
|
59
|
+
export { createProviderTurnMetadata, readProviderHttpStatus } from "./observability.js";
|
|
60
|
+
export type { ApplyRetentionInput, ApplyRetentionResult, ConsumeTenantQuotaInput, ExportUnderHoldInput, LegalHoldExportItem, LegalHoldQuery, LegalHoldRecord, PersistenceLifecycleStore, PersistenceResourceKind, PutLegalHoldInput, ReleaseLegalHoldInput, SetTenantQuotaInput, TenantQuota, } from "./persistence-lifecycle.js";
|
|
61
|
+
export { createMemoryPersistenceLifecycle, DEFAULT_LIFECYCLE_PAGE_SIZE, DEFAULT_MAX_HOLD_REASON_BYTES, HARD_LIFECYCLE_PAGE_SIZE, HARD_MAX_HOLD_REASON_BYTES, isResourceHeld, PersistenceLifecycleError, } from "./persistence-lifecycle.js";
|
|
73
62
|
export { providerContentDelta, providerContinuationRequired, providerDone, providerError, providerTextDelta, providerThinkingDelta, providerToolCall, providerToolCallDelta, providerUsage, toolCallContent, toolCallFromArgumentsText, } from "./provider-events.js";
|
|
74
|
-
export
|
|
75
|
-
export {
|
|
63
|
+
export { authMethodKey, defineProviderPackage, systemPromptContributionKey } from "./provider-packages.js";
|
|
64
|
+
export type { SessionCachePolicyOptions } from "./provider-request-policy.js";
|
|
65
|
+
export { createProviderRequestPolicyChain, createSessionCachePolicy, mergeProviderRequestOptions } from "./provider-request-policy.js";
|
|
76
66
|
export type { ProviderRegistry, ProviderRegistryOptions } from "./providers.js";
|
|
77
|
-
export {
|
|
67
|
+
export { createProviderRegistry, createProviderResolver } from "./providers.js";
|
|
78
68
|
export type { SecretRedactor } from "./redaction.js";
|
|
79
|
-
export {
|
|
69
|
+
export { createSecretRedactor, errorToErrorInfo, redactAgentEvent, redactMessage, redactProviderRequest, redactRunLedgerRecord, redactSecrets, redactSessionEntry, resolveRedactor, } from "./redaction.js";
|
|
70
|
+
export type { DuplicateRegistrationOptions, DuplicateRegistrationPolicy } from "./registry-options.js";
|
|
71
|
+
export type { LoadBinaryResourceOptions } from "./resources.js";
|
|
72
|
+
export { loadBinaryResource, loadJsonResource, loadManifestResource, loadTextResource } from "./resources.js";
|
|
73
|
+
export type { DefaultRetryPolicyOptions } from "./retry.js";
|
|
74
|
+
export { createDefaultRetryPolicy, isTransientErrorInfo, waitForRetry } from "./retry.js";
|
|
75
|
+
export type { BatchedRunLedgerOptions } from "./run-ledger.js";
|
|
76
|
+
export { createBatchedRunLedger, DEFAULT_LEDGER_BATCH_BYTES, DEFAULT_LEDGER_BATCH_DELAY_MS, DEFAULT_LEDGER_BATCH_ENTRIES, HARD_LEDGER_BATCH_BYTES, HARD_LEDGER_BATCH_DELAY_MS, HARD_LEDGER_BATCH_ENTRIES, isFlushableRunLedger, } from "./run-ledger.js";
|
|
77
|
+
export type { RunLimitTrackerOptions } from "./run-limits.js";
|
|
78
|
+
export { createRunLimitTracker, DEFAULT_RUN_LIMITS, HARD_MAX_RUN_COST, HARD_RUN_LIMITS, RunLimitError, RunLimitTracker, resolveRunLimits, } from "./run-limits.js";
|
|
79
|
+
export { createSecureAgent } from "./secure-agent.js";
|
|
80
80
|
export type { PermissionDecision, PermissionPolicy, PermissionRequest, TrustDecision, TrustPolicy, TrustRequest } from "./security.js";
|
|
81
|
-
export {
|
|
82
|
-
export type {
|
|
83
|
-
export {
|
|
84
|
-
export
|
|
85
|
-
export { createSkillRegistry, resolveActiveSkills } from "./skills.js";
|
|
81
|
+
export { assertPermission, assertTrusted, checkPermission, createStaticPermissionPolicy, createStaticTrustPolicy, denialToErrorInfo, isTrusted, PermissionDeniedError, TrustDeniedError, } from "./security.js";
|
|
82
|
+
export type { CreateMemorySessionStoreOptions, CreateSessionEntryOptions, MemorySessionSearchMode, SessionBranch, SessionBranchOptions, SessionContextSnapshot, } from "./session-stores.js";
|
|
83
|
+
export { createMemorySessionStore, createSessionEntry, getSessionBranchEntries, listSessionBranches, rebuildSessionContext, } from "./session-stores.js";
|
|
84
|
+
export { createChainedSettingsProvider, createStaticSettingsProvider } from "./settings.js";
|
|
86
85
|
export type { ResolveActiveSkillsOptions, SkillRegistryOptions } from "./skills.js";
|
|
87
|
-
export {
|
|
88
|
-
export
|
|
89
|
-
export {
|
|
90
|
-
export {
|
|
91
|
-
export {
|
|
92
|
-
export
|
|
93
|
-
export type { RunLimitTrackerOptions, } from "./run-limits.js";
|
|
86
|
+
export { createSkillRegistry, resolveActiveSkills } from "./skills.js";
|
|
87
|
+
export { artifactStructuredOutputRequest, assertStructuredOutputRequestSupported, DEFAULT_MAX_STRUCTURED_OUTPUT_NAME_LENGTH, DEFAULT_MAX_STRUCTURED_OUTPUT_SCHEMA_BYTES, modelSupportsStructuredOutput, resolveRunProviderOptions, StructuredOutputError, validateStructuredOutputOptions, withoutStructuredOutput, } from "./structured-output.js";
|
|
88
|
+
export type { ComposeSystemPromptOptions } from "./system-prompts.js";
|
|
89
|
+
export { composeSystemPrompt, mergeSystemPromptConfig } from "./system-prompts.js";
|
|
90
|
+
export type { ThinkingCompatFamily, ThinkingLevel } from "./thinking.js";
|
|
91
|
+
export { applyThinkingLevel, isThinkingLevel, normalizeThinkingLevel, THINKING_LEVELS, thinkingCompatFor, thinkingFamilyForModel, } from "./thinking.js";
|
|
94
92
|
export type { DispatchToolCallOptions, ToolArgumentValidationError, ToolArgumentValidationResult, ToolArgumentValidator, ToolFilter, ToolFilterInput, ToolParameterValidatorOptions, ToolRegistryOptions, ToolValidator, } from "./tools.js";
|
|
95
|
-
export
|
|
96
|
-
export {
|
|
93
|
+
export { createToolParameterValidator, createToolRegistry, dispatchToolCall, filterTools } from "./tools.js";
|
|
94
|
+
export type { ResolvedUseCaseModel, ResolveUseCaseModelInput, UseCaseModelBinding, } from "./use-case-model.js";
|
|
95
|
+
export { resolveUseCaseModel, resolveUseCaseModelBinding, useCaseCredentialProviderId, } from "./use-case-model.js";
|
|
97
96
|
export declare const name = "prism";
|
|
98
|
-
export declare const version = "0.0.
|
|
97
|
+
export declare const version = "0.0.17";
|
|
99
98
|
export declare const description = "Agent harness for AI providers, agents, sessions, and tools.";
|
package/dist/index.js
CHANGED
|
@@ -1,56 +1,56 @@
|
|
|
1
|
-
export {
|
|
2
|
-
export {
|
|
3
|
-
export { createBatchedRunLedger, isFlushableRunLedger, DEFAULT_LEDGER_BATCH_ENTRIES, HARD_LEDGER_BATCH_ENTRIES, DEFAULT_LEDGER_BATCH_BYTES, HARD_LEDGER_BATCH_BYTES, DEFAULT_LEDGER_BATCH_DELAY_MS, HARD_LEDGER_BATCH_DELAY_MS, } from "./run-ledger.js";
|
|
4
|
-
export { createSecureAgent } from "./secure-agent.js";
|
|
5
|
-
export { createMemoryRunFeedbackStore, prepareRunFeedback, requireRunFeedbackOwnership, runFeedbackPageLimit, RunFeedbackError, } from "./feedback.js";
|
|
6
|
-
export { CHECKPOINT_CONFLICT_CODE, CheckpointConflictError, createMemoryCheckpointStore } from "./checkpoints.js";
|
|
7
|
-
export { AGENT_RUN_STATE_NAMESPACE, AGENT_RUN_STATE_SCHEMA_VERSION, DEFAULT_MAX_AGENT_RUN_STATE_BYTES, HARD_MAX_AGENT_RUN_STATE_BYTES, agentFingerprint, loadAgentRunState } from "./agent-run-state.js";
|
|
1
|
+
export { resolveAgentDefinition } from "./agent-definitions.js";
|
|
2
|
+
export { dispatchToolCallsInOrder, generateValidateReviseLoop, isAgentLoopOptions, resolveLoop, resolveToolConcurrency, singleShotLoop, } from "./agent-loops.js";
|
|
8
3
|
export { createAgentRunLifecycle } from "./agent-run-lifecycle.js";
|
|
9
|
-
export {
|
|
10
|
-
export {
|
|
11
|
-
export {
|
|
4
|
+
export { AGENT_RUN_STATE_NAMESPACE, AGENT_RUN_STATE_SCHEMA_VERSION, agentFingerprint, DEFAULT_MAX_AGENT_RUN_STATE_BYTES, HARD_MAX_AGENT_RUN_STATE_BYTES, loadAgentRunState, } from "./agent-run-state.js";
|
|
5
|
+
export { createAgent, createAgentSession, resumeAgentRun, resumeAgentRunStream } from "./agents.js";
|
|
6
|
+
export { ARTIFACT_CHECKPOINT_NAMESPACE, ArtifactError, artifactApprovalState, artifactCheckpointKey, } from "./artifacts.js";
|
|
12
7
|
export { applyCacheControl, cacheHitRate, cacheSavings, cacheUsageReport, mapCacheRetention, sanitizeCacheKey } from "./cache-helpers.js";
|
|
13
|
-
export {
|
|
14
|
-
export { parseSkillFile, parseAgentFile } from "./contribution-parsing.js";
|
|
15
|
-
export { assertJsonObject, isJsonObject, loadConfigLayers, mergeConfigLayers } from "./config.js";
|
|
8
|
+
export { CHECKPOINT_CONFLICT_CODE, CheckpointConflictError, createMemoryCheckpointStore } from "./checkpoints.js";
|
|
16
9
|
export { createDefaultCompactionStrategy, isCompactionEntryData } from "./compaction.js";
|
|
17
|
-
export {
|
|
10
|
+
export { assertJsonObject, isJsonObject, loadConfigLayers, mergeConfigLayers } from "./config.js";
|
|
11
|
+
export { assertDeclaredMediaTypeMatches, assertMediaBlocksWithinBounds, assertMessagesSupportModelCapabilities, assertModelSupportsContentBlocks, assertSsrfAllowedUrl, collectMessageContentBlocks, contentBlockInputModality, DEFAULT_MAX_AUDIO_DURATION_MS, DEFAULT_MAX_MEDIA_ITEM_BYTES, DEFAULT_MAX_MEDIA_ITEMS_PER_REQUEST, DEFAULT_MAX_MEDIA_REQUEST_BYTES, DEFAULT_MEDIA_FETCH_TIMEOUT_MS, loadBoundedBinaryResource, MediaContentError, MODEL_INPUT_CAPABILITIES, resolveMediaContentBlock, resolveMediaContentBlocks, sniffMediaMimeType, UnsupportedModalityError, } from "./content.js";
|
|
12
|
+
export { applyContextBudget, CONTEXT_BUDGET_ERROR_CODE, CONTEXT_BUDGET_REPORT_METADATA_KEY, ContextBudgetError, DEFAULT_MAX_CONTEXT_BUDGET_OMISSIONS, estimateAssemblyTokens, estimateMessageBytes, estimateMessageTokens, estimateTextBytes, estimateTextTokens, getContextBudgetReport, HARD_MAX_CONTEXT_BUDGET_BYTES, HARD_MAX_CONTEXT_BUDGET_OMISSIONS, HARD_MAX_CONTEXT_BUDGET_TOKENS, isContextBudgetError, resolveContextBudget, } from "./context-budget.js";
|
|
13
|
+
export { AgentRunError, AgentRunStateError, assertSessionMetadataKey, DEFAULT_MAX_PENDING_STEER_BYTES, DEFAULT_MAX_PENDING_STEERS, DEFAULT_MAX_SESSION_SEARCH_CURSOR_BYTES, DEFAULT_MAX_SESSION_SEARCH_FTS_CANDIDATES, DEFAULT_MAX_SESSION_SEARCH_LINEAR_BYTES, DEFAULT_MAX_SESSION_SEARCH_LINEAR_ENTRIES, DEFAULT_MAX_SESSION_SEARCH_LINEAR_SESSIONS, DEFAULT_MAX_SESSION_SEARCH_QUERY_BYTES, DEFAULT_MAX_SESSION_SEARCH_SNIPPET_BYTES, DEFAULT_SESSION_SEARCH_LIMIT, HARD_MAX_PENDING_STEER_BYTES, HARD_MAX_PENDING_STEERS, HARD_MAX_SESSION_SEARCH_CURSOR_BYTES, HARD_MAX_SESSION_SEARCH_FTS_CANDIDATES, HARD_MAX_SESSION_SEARCH_LIMIT, HARD_MAX_SESSION_SEARCH_LINEAR_BYTES, HARD_MAX_SESSION_SEARCH_LINEAR_ENTRIES, HARD_MAX_SESSION_SEARCH_LINEAR_SESSIONS, HARD_MAX_SESSION_SEARCH_QUERY_BYTES, HARD_MAX_SESSION_SEARCH_SNIPPET_BYTES, isSessionAppendConflict, isSessionEntryKind, isSessionSearchUnsupported, resolveSessionSearchQuery, SESSION_APPEND_CONFLICT_CODE, SESSION_ENTRY_KINDS, SESSION_ENTRY_SCHEMA_VERSION, SESSION_SEARCH_UNSUPPORTED_CODE, SESSION_SEARCH_WORKSPACE_METADATA_KEY, SessionAppendConflictError, SessionSearchUnsupportedError, } from "./contracts.js";
|
|
14
|
+
export { parseAgentFile, parseSkillFile } from "./contribution-parsing.js";
|
|
18
15
|
export { createContributionRegistries, createContributionRegistry, registerDiscoveredContributions } from "./contributions.js";
|
|
19
|
-
export {
|
|
16
|
+
export { CONVERSATION_METADATA_KEY, ConversationError, conversationMarkerMetadata, conversationThreadFromRecord, DEFAULT_MAX_CONVERSATION_CURSOR_BYTES, decodeConversationReplayCursor, encodeConversationReplayCursor, HARD_MAX_CONVERSATION_CURSOR_BYTES, } from "./conversations.js";
|
|
17
|
+
export { createChainedCredentialResolver, createEnvCredentialResolver, createExplicitCredentialResolver, createMemoryCredentialStore, refreshOAuthCredential, resolveCredentialValue, revokeOAuthCredential, } from "./credentials.js";
|
|
18
|
+
export { acceptDeviceChunk, assertDeviceAdmit, DEFAULT_DEVICE_MAX_CHUNK_BYTES, DEFAULT_DEVICE_MAX_CONCURRENT_SESSIONS, DevicePolicyError, HARD_DEVICE_MAX_CHUNK_BYTES, HARD_DEVICE_MAX_CONCURRENT_SESSIONS, redactDeviceTelemetry, resolveDevicePolicy, runDevicePolicyConformance, } from "./devices.js";
|
|
19
|
+
export { createEventMultiplexer } from "./event-multiplexer.js";
|
|
20
|
+
export { applyExecutionDecision, assertExecutionAllowed, checkExecution, ExecutionDeniedError } from "./execution-policy.js";
|
|
20
21
|
export { createExtensionEventBus, createExtensionKernel } from "./extensions.js";
|
|
21
|
-
export {
|
|
22
|
-
export {
|
|
23
|
-
export {
|
|
24
|
-
export {
|
|
25
|
-
export {
|
|
26
|
-
export {
|
|
27
|
-
export { resolveUseCaseModel, resolveUseCaseModelBinding, useCaseCredentialProviderId, } from "./use-case-model.js";
|
|
28
|
-
export { composeSystemPrompt, mergeSystemPromptConfig } from "./system-prompts.js";
|
|
22
|
+
export { createMemoryRunFeedbackStore, prepareRunFeedback, RunFeedbackError, requireRunFeedbackOwnership, runFeedbackPageLimit, } from "./feedback.js";
|
|
23
|
+
export { assertGuardrailsAllowed, GuardrailError, MAX_GUARDRAIL_CONCURRENCY, runGuardrails } from "./guardrails.js";
|
|
24
|
+
export { assertIdentityActive, assertIdentityMatchesOwnership, assertIdentityPropagation, DEFAULT_IDENTITY_LIMITS, HARD_IDENTITY_LIMITS, IdentityError, identityTelemetryAttributes, narrowIdentity, ownershipFromIdentity, resolveIdentityLimits, resolveRunIdentity, } from "./identity.js";
|
|
25
|
+
export { assembleProviderInput, createDefaultInputBuilder, createDefaultPromptBuilder, renderPromptTemplate, resolveContextProviders, } from "./input.js";
|
|
26
|
+
export { resolveInstructionInjectors, runInstructionInjectors } from "./instruction-injection.js";
|
|
27
|
+
export { createMemoryLeaseStore, LEASE_CONFLICT_CODE, LeaseConflictError } from "./leases.js";
|
|
29
28
|
export { definePrismManifest, parsePrismManifest } from "./manifests.js";
|
|
30
|
-
export { assertDeclaredMediaTypeMatches, assertMediaBlocksWithinBounds, assertMessagesSupportModelCapabilities, assertModelSupportsContentBlocks, assertSsrfAllowedUrl, collectMessageContentBlocks, contentBlockInputModality, DEFAULT_MAX_AUDIO_DURATION_MS, DEFAULT_MAX_MEDIA_ITEM_BYTES, DEFAULT_MAX_MEDIA_ITEMS_PER_REQUEST, DEFAULT_MAX_MEDIA_REQUEST_BYTES, DEFAULT_MEDIA_FETCH_TIMEOUT_MS, loadBoundedBinaryResource, MediaContentError, MODEL_INPUT_CAPABILITIES, resolveMediaContentBlock, resolveMediaContentBlocks, sniffMediaMimeType, UnsupportedModalityError, } from "./content.js";
|
|
31
|
-
export { loadBinaryResource, loadJsonResource, loadManifestResource, loadTextResource } from "./resources.js";
|
|
32
|
-
export { createChainedSettingsProvider, createStaticSettingsProvider } from "./settings.js";
|
|
33
29
|
export { createMiddlewareRegistry } from "./middleware.js";
|
|
34
|
-
export { assembleProviderInput, createDefaultInputBuilder, createDefaultPromptBuilder, renderPromptTemplate, resolveContextProviders } from "./input.js";
|
|
35
|
-
export { applyContextBudget, CONTEXT_BUDGET_ERROR_CODE, CONTEXT_BUDGET_REPORT_METADATA_KEY, ContextBudgetError, DEFAULT_MAX_CONTEXT_BUDGET_OMISSIONS, estimateAssemblyTokens, estimateMessageBytes, estimateMessageTokens, estimateTextBytes, estimateTextTokens, getContextBudgetReport, HARD_MAX_CONTEXT_BUDGET_BYTES, HARD_MAX_CONTEXT_BUDGET_OMISSIONS, HARD_MAX_CONTEXT_BUDGET_TOKENS, isContextBudgetError, resolveContextBudget, } from "./context-budget.js";
|
|
36
30
|
export { createMockProvider } from "./mock-provider.js";
|
|
37
|
-
export {
|
|
38
|
-
export {
|
|
39
|
-
export {
|
|
40
|
-
export { DEFAULT_DEVICE_MAX_CHUNK_BYTES, DEFAULT_DEVICE_MAX_CONCURRENT_SESSIONS, HARD_DEVICE_MAX_CHUNK_BYTES, HARD_DEVICE_MAX_CONCURRENT_SESSIONS, DevicePolicyError, acceptDeviceChunk, assertDeviceAdmit, redactDeviceTelemetry, resolveDevicePolicy, runDevicePolicyConformance, } from "./devices.js";
|
|
31
|
+
export { createModelRegistry } from "./models.js";
|
|
32
|
+
export { createProviderTurnMetadata, readProviderHttpStatus } from "./observability.js";
|
|
33
|
+
export { createMemoryPersistenceLifecycle, DEFAULT_LIFECYCLE_PAGE_SIZE, DEFAULT_MAX_HOLD_REASON_BYTES, HARD_LIFECYCLE_PAGE_SIZE, HARD_MAX_HOLD_REASON_BYTES, isResourceHeld, PersistenceLifecycleError, } from "./persistence-lifecycle.js";
|
|
41
34
|
export { providerContentDelta, providerContinuationRequired, providerDone, providerError, providerTextDelta, providerThinkingDelta, providerToolCall, providerToolCallDelta, providerUsage, toolCallContent, toolCallFromArgumentsText, } from "./provider-events.js";
|
|
35
|
+
export { authMethodKey, defineProviderPackage, systemPromptContributionKey } from "./provider-packages.js";
|
|
36
|
+
export { createProviderRequestPolicyChain, createSessionCachePolicy, mergeProviderRequestOptions } from "./provider-request-policy.js";
|
|
42
37
|
export { createProviderRegistry, createProviderResolver } from "./providers.js";
|
|
43
|
-
export { createSecretRedactor, errorToErrorInfo, redactAgentEvent, redactMessage, redactProviderRequest, redactRunLedgerRecord, redactSecrets, redactSessionEntry } from "./redaction.js";
|
|
44
|
-
export {
|
|
45
|
-
export {
|
|
46
|
-
export {
|
|
38
|
+
export { createSecretRedactor, errorToErrorInfo, redactAgentEvent, redactMessage, redactProviderRequest, redactRunLedgerRecord, redactSecrets, redactSessionEntry, resolveRedactor, } from "./redaction.js";
|
|
39
|
+
export { loadBinaryResource, loadJsonResource, loadManifestResource, loadTextResource } from "./resources.js";
|
|
40
|
+
export { createDefaultRetryPolicy, isTransientErrorInfo, waitForRetry } from "./retry.js";
|
|
41
|
+
export { createBatchedRunLedger, DEFAULT_LEDGER_BATCH_BYTES, DEFAULT_LEDGER_BATCH_DELAY_MS, DEFAULT_LEDGER_BATCH_ENTRIES, HARD_LEDGER_BATCH_BYTES, HARD_LEDGER_BATCH_DELAY_MS, HARD_LEDGER_BATCH_ENTRIES, isFlushableRunLedger, } from "./run-ledger.js";
|
|
42
|
+
export { createRunLimitTracker, DEFAULT_RUN_LIMITS, HARD_MAX_RUN_COST, HARD_RUN_LIMITS, RunLimitError, RunLimitTracker, resolveRunLimits, } from "./run-limits.js";
|
|
43
|
+
export { createSecureAgent } from "./secure-agent.js";
|
|
44
|
+
export { assertPermission, assertTrusted, checkPermission, createStaticPermissionPolicy, createStaticTrustPolicy, denialToErrorInfo, isTrusted, PermissionDeniedError, TrustDeniedError, } from "./security.js";
|
|
45
|
+
export { createMemorySessionStore, createSessionEntry, getSessionBranchEntries, listSessionBranches, rebuildSessionContext, } from "./session-stores.js";
|
|
46
|
+
export { createChainedSettingsProvider, createStaticSettingsProvider } from "./settings.js";
|
|
47
47
|
export { createSkillRegistry, resolveActiveSkills } from "./skills.js";
|
|
48
|
-
export {
|
|
49
|
-
export {
|
|
50
|
-
export {
|
|
51
|
-
export {
|
|
52
|
-
export {
|
|
48
|
+
export { artifactStructuredOutputRequest, assertStructuredOutputRequestSupported, DEFAULT_MAX_STRUCTURED_OUTPUT_NAME_LENGTH, DEFAULT_MAX_STRUCTURED_OUTPUT_SCHEMA_BYTES, modelSupportsStructuredOutput, resolveRunProviderOptions, StructuredOutputError, validateStructuredOutputOptions, withoutStructuredOutput, } from "./structured-output.js";
|
|
49
|
+
export { composeSystemPrompt, mergeSystemPromptConfig } from "./system-prompts.js";
|
|
50
|
+
export { applyThinkingLevel, isThinkingLevel, normalizeThinkingLevel, THINKING_LEVELS, thinkingCompatFor, thinkingFamilyForModel, } from "./thinking.js";
|
|
51
|
+
export { createToolParameterValidator, createToolRegistry, dispatchToolCall, filterTools } from "./tools.js";
|
|
52
|
+
export { resolveUseCaseModel, resolveUseCaseModelBinding, useCaseCredentialProviderId, } from "./use-case-model.js";
|
|
53
53
|
export const name = "prism";
|
|
54
|
-
export const version = "0.0.
|
|
54
|
+
export const version = "0.0.17";
|
|
55
55
|
export const description = "Agent harness for AI providers, agents, sessions, and tools.";
|
|
56
56
|
//# sourceMappingURL=index.js.map
|
package/dist/input.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { type ContextBudget } from "./context-budget.js";
|
|
2
|
+
import type { ContentBlock, ContextBlock, ContextProvider, ContextResolutionContext, InputBuildContext, InputBuilder, InstructionInjector, JsonObject, Message, ModelConfig, PromptBuilder, PromptBuildRequest, ProviderRequest, ProviderRequestOptions, ResourceLoader, Skill, ToolDefinition, ToolResult } from "./contracts.js";
|
|
2
3
|
import type { MiddlewareRegistry } from "./middleware.js";
|
|
3
4
|
import type { SecretRedactor } from "./redaction.js";
|
|
4
|
-
import { type ContextBudget } from "./context-budget.js";
|
|
5
5
|
export type AgentInput = string | Message | readonly Message[];
|
|
6
6
|
export interface PromptInstruction {
|
|
7
7
|
readonly text: string;
|
package/dist/input.js
CHANGED
|
@@ -1,16 +1,17 @@
|
|
|
1
|
-
import { redactMessage } from "./redaction.js";
|
|
2
1
|
import { assertMessagesSupportModelCapabilities } from "./content.js";
|
|
2
|
+
import { applyContextBudget, CONTEXT_BUDGET_REPORT_METADATA_KEY } from "./context-budget.js";
|
|
3
|
+
import { runInstructionInjectors } from "./instruction-injection.js";
|
|
4
|
+
import { redactMessage } from "./redaction.js";
|
|
3
5
|
import { loadTextResource } from "./resources.js";
|
|
4
6
|
import { composeSystemPrompt } from "./system-prompts.js";
|
|
5
|
-
import { runInstructionInjectors } from "./instruction-injection.js";
|
|
6
|
-
import { applyContextBudget, CONTEXT_BUDGET_REPORT_METADATA_KEY, } from "./context-budget.js";
|
|
7
7
|
export function createDefaultInputBuilder() {
|
|
8
8
|
return {
|
|
9
9
|
name: "default-input",
|
|
10
10
|
async build(input, context = {}) {
|
|
11
11
|
const groups = await buildDefaultInputMessageGroups(input, context);
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
// `input_assembly` middleware is applied by assembleProviderInput after build(),
|
|
13
|
+
// never here: builders must not be a security seam.
|
|
14
|
+
return flattenInputGroups(groups, context.inputLayout ?? "legacy");
|
|
14
15
|
},
|
|
15
16
|
};
|
|
16
17
|
}
|
|
@@ -18,13 +19,13 @@ export async function resolveContextProviders(options) {
|
|
|
18
19
|
const blocks = [];
|
|
19
20
|
for (const provider of options.providers ?? []) {
|
|
20
21
|
throwIfAborted(options.signal);
|
|
21
|
-
blocks.push(...await provider.resolve({
|
|
22
|
+
blocks.push(...(await provider.resolve({
|
|
22
23
|
sessionId: options.sessionId,
|
|
23
24
|
runId: options.runId,
|
|
24
25
|
messages: options.messages,
|
|
25
26
|
metadata: options.metadata,
|
|
26
27
|
signal: options.signal,
|
|
27
|
-
}));
|
|
28
|
+
})));
|
|
28
29
|
}
|
|
29
30
|
// ponytail: injector blocks after host+skill provider blocks (split by origin if per-block ordering matters).
|
|
30
31
|
if (options.injectedBlocks)
|
|
@@ -35,18 +36,16 @@ export function createDefaultPromptBuilder() {
|
|
|
35
36
|
return {
|
|
36
37
|
name: "default-prompt",
|
|
37
38
|
async build(request) {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
...request.messages,
|
|
43
|
-
];
|
|
39
|
+
// Tool-capable models receive schemas via request.tools; the text list only serves
|
|
40
|
+
// text-only (or unknown-capability) models — duplicating it doubles tool tokens per turn.
|
|
41
|
+
const tools = request.model?.capabilities?.tools === true ? undefined : request.tools;
|
|
42
|
+
return [...contextMessages(request.context), ...skillMessages(request.skills), ...toolMessages(tools), ...request.messages];
|
|
44
43
|
},
|
|
45
44
|
};
|
|
46
45
|
}
|
|
47
46
|
export function renderPromptTemplate(template, variables, options = {}) {
|
|
48
47
|
return template.replace(/\{\{\s*([A-Za-z0-9_]+)\s*\}\}/g, (match, name) => {
|
|
49
|
-
if (!Object.
|
|
48
|
+
if (!Object.hasOwn(variables, name)) {
|
|
50
49
|
if (options.missing === "preserve")
|
|
51
50
|
return match;
|
|
52
51
|
throw new Error(`Missing prompt template variable: ${name}`);
|
|
@@ -118,6 +117,9 @@ export async function assembleProviderInput(options) {
|
|
|
118
117
|
else {
|
|
119
118
|
const inputBuilder = options.inputBuilder ?? createDefaultInputBuilder();
|
|
120
119
|
messages = await inputBuilder.build(options.input, buildContext);
|
|
120
|
+
// Runtime-owned: input_assembly middleware always runs, regardless of which builder is installed.
|
|
121
|
+
if (buildContext.middleware)
|
|
122
|
+
messages = await buildContext.middleware.run("input_assembly", messages);
|
|
121
123
|
context = await resolveContextProviders({
|
|
122
124
|
providers: options.contextProviders,
|
|
123
125
|
messages,
|
|
@@ -144,11 +146,9 @@ export async function assembleProviderInput(options) {
|
|
|
144
146
|
metadata: options.metadata,
|
|
145
147
|
signal: options.signal,
|
|
146
148
|
};
|
|
147
|
-
const providerMessages = await promptBuilder.build({ ...promptRequest, tools });
|
|
149
|
+
const providerMessages = await promptBuilder.build({ ...promptRequest, tools, model: options.model });
|
|
148
150
|
assertMessagesSupportModelCapabilities(options.model, providerMessages);
|
|
149
|
-
const metadata = budgetReport
|
|
150
|
-
? { ...options.metadata, [CONTEXT_BUDGET_REPORT_METADATA_KEY]: budgetReport }
|
|
151
|
-
: options.metadata;
|
|
151
|
+
const metadata = budgetReport ? { ...options.metadata, [CONTEXT_BUDGET_REPORT_METADATA_KEY]: budgetReport } : options.metadata;
|
|
152
152
|
return {
|
|
153
153
|
model: options.model,
|
|
154
154
|
messages: providerMessages,
|
|
@@ -176,9 +176,23 @@ async function buildDefaultInputMessageGroups(input, context) {
|
|
|
176
176
|
function flattenInputGroups(groups, layout) {
|
|
177
177
|
switch (layout) {
|
|
178
178
|
case "cache_aware":
|
|
179
|
-
return [
|
|
179
|
+
return [
|
|
180
|
+
...groups.instructions,
|
|
181
|
+
...groups.attachments,
|
|
182
|
+
...groups.summaries,
|
|
183
|
+
...groups.history,
|
|
184
|
+
...groups.toolResults,
|
|
185
|
+
...groups.input,
|
|
186
|
+
];
|
|
180
187
|
case "legacy":
|
|
181
|
-
return [
|
|
188
|
+
return [
|
|
189
|
+
...groups.instructions,
|
|
190
|
+
...groups.summaries,
|
|
191
|
+
...groups.history,
|
|
192
|
+
...groups.input,
|
|
193
|
+
...groups.attachments,
|
|
194
|
+
...groups.toolResults,
|
|
195
|
+
];
|
|
182
196
|
}
|
|
183
197
|
}
|
|
184
198
|
export function inputMessages(input) {
|
|
@@ -189,7 +203,7 @@ export function inputMessages(input) {
|
|
|
189
203
|
return [...input];
|
|
190
204
|
}
|
|
191
205
|
function instructionMessages(value, label) {
|
|
192
|
-
const items = typeof value === "string" ? [value] : value ?? [];
|
|
206
|
+
const items = typeof value === "string" ? [value] : (value ?? []);
|
|
193
207
|
return items.map((text) => textMessage("system", `${label}:\n${text}`));
|
|
194
208
|
}
|
|
195
209
|
function customInstructionMessages(value) {
|
|
@@ -241,13 +255,16 @@ async function resourceMessage(uri, context, attachment) {
|
|
|
241
255
|
function toolResultMessages(results) {
|
|
242
256
|
return (results ?? []).map((result) => ({
|
|
243
257
|
role: "tool",
|
|
244
|
-
content: [
|
|
258
|
+
content: [
|
|
259
|
+
{
|
|
245
260
|
type: "tool_result",
|
|
246
261
|
toolCallId: result.toolCallId,
|
|
247
262
|
name: result.name,
|
|
248
263
|
result: result.value,
|
|
249
264
|
error: result.error,
|
|
250
|
-
},
|
|
265
|
+
},
|
|
266
|
+
...(result.content ?? []),
|
|
267
|
+
],
|
|
251
268
|
metadata: result.metadata,
|
|
252
269
|
}));
|
|
253
270
|
}
|
|
@@ -265,12 +282,15 @@ function skillMessages(skills) {
|
|
|
265
282
|
function toolMessages(tools) {
|
|
266
283
|
if (!tools?.length)
|
|
267
284
|
return [];
|
|
268
|
-
return [
|
|
285
|
+
return [
|
|
286
|
+
textMessage("system", `Available tools:\n${tools.map((tool) => `- ${tool.name}${tool.description ? `: ${tool.description}` : ""}`).join("\n")}`),
|
|
287
|
+
];
|
|
269
288
|
}
|
|
270
289
|
function blockText(block) {
|
|
271
290
|
if (typeof block.content === "string")
|
|
272
291
|
return block.content;
|
|
273
|
-
return block.content
|
|
292
|
+
return block.content
|
|
293
|
+
.map((part) => {
|
|
274
294
|
if (part.type === "text" || part.type === "thinking")
|
|
275
295
|
return part.text;
|
|
276
296
|
if (part.type === "tool_result")
|
|
@@ -288,7 +308,8 @@ function blockText(block) {
|
|
|
288
308
|
if (part.type === "document")
|
|
289
309
|
return part.transcript ?? part.name ?? part.url ?? part.resourceUri ?? part.mediaType ?? "[document]";
|
|
290
310
|
return "[content]";
|
|
291
|
-
})
|
|
311
|
+
})
|
|
312
|
+
.join("\n");
|
|
292
313
|
}
|
|
293
314
|
function templateValue(value) {
|
|
294
315
|
if (typeof value === "string")
|
|
@@ -302,7 +323,9 @@ function sortJson(value) {
|
|
|
302
323
|
return value;
|
|
303
324
|
if (Array.isArray(value))
|
|
304
325
|
return value.map(sortJson);
|
|
305
|
-
return Object.fromEntries(Object.keys(value)
|
|
326
|
+
return Object.fromEntries(Object.keys(value)
|
|
327
|
+
.sort()
|
|
328
|
+
.map((key) => [key, sortJson(value[key])]));
|
|
306
329
|
}
|
|
307
330
|
function throwIfAborted(signal) {
|
|
308
331
|
if (signal?.aborted)
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { ContributionRegistry } from "./contributions.js";
|
|
2
1
|
import type { ContextBlock, InstructionContext, InstructionInjector, SystemPromptContribution } from "./contracts.js";
|
|
2
|
+
import type { ContributionRegistry } from "./contributions.js";
|
|
3
3
|
/** Run each selected injector against `ctx`, returning the matching contributions as
|
|
4
4
|
* `package`-source `SystemPromptContribution[]` (for `composeSystemPrompt`) and
|
|
5
5
|
* `ContextBlock[]` (for the context merge). Aborts on `ctx.signal`. Non-matching
|
package/dist/middleware.js
CHANGED
|
@@ -21,10 +21,13 @@ export function createMiddlewareRegistry(options = {}) {
|
|
|
21
21
|
},
|
|
22
22
|
async run(hook, value) {
|
|
23
23
|
let current = value;
|
|
24
|
-
for (const middleware of byHook.get(hook) ?? []) {
|
|
24
|
+
for (const [index, middleware] of (byHook.get(hook) ?? []).entries()) {
|
|
25
25
|
try {
|
|
26
26
|
let calledNext = false;
|
|
27
27
|
const next = async (nextValue) => {
|
|
28
|
+
// Double next() forks the chain value nondeterministically — always a bug.
|
|
29
|
+
if (calledNext)
|
|
30
|
+
throw new Error(`Middleware hook "${hook}" #${index}: next() called more than once`);
|
|
28
31
|
calledNext = true;
|
|
29
32
|
current = nextValue;
|
|
30
33
|
return current;
|
|
@@ -32,6 +35,11 @@ export function createMiddlewareRegistry(options = {}) {
|
|
|
32
35
|
const result = await middleware(current, next);
|
|
33
36
|
if (!calledNext)
|
|
34
37
|
current = result;
|
|
38
|
+
else if (result !== undefined && result !== current) {
|
|
39
|
+
// next(v) already committed the chain value; a conflicting return is silently
|
|
40
|
+
// discarded. Ambiguous rather than certainly-wrong, so diagnose, don't throw.
|
|
41
|
+
await options.onError?.(middlewareError(new Error(`Middleware hook "${hook}" #${index}: called next(value) and returned a different value; the next() value wins, the return is discarded`), hook, secrets));
|
|
42
|
+
}
|
|
35
43
|
}
|
|
36
44
|
catch (error) {
|
|
37
45
|
if (errorPolicy === "throw")
|
package/dist/models.d.ts
CHANGED
|
@@ -2,6 +2,8 @@ import type { ModelConfig } from "./contracts.js";
|
|
|
2
2
|
import { type DuplicateRegistrationOptions } from "./registry-options.js";
|
|
3
3
|
export interface ModelRegistry {
|
|
4
4
|
register(model: ModelConfig): void;
|
|
5
|
+
/** Remove a model; returns false when it was not registered. */
|
|
6
|
+
unregister(provider: string, model: string): boolean;
|
|
5
7
|
get(provider: string, model: string): ModelConfig | undefined;
|
|
6
8
|
resolve(provider: string, model: string): ModelConfig;
|
|
7
9
|
list(): readonly ModelConfig[];
|
package/dist/models.js
CHANGED
|
@@ -8,6 +8,9 @@ export function createModelRegistry(models = [], options = {}) {
|
|
|
8
8
|
assertCanRegister(byId, id, "model", `${model.provider}/${model.model}`, options.duplicate);
|
|
9
9
|
byId.set(id, model);
|
|
10
10
|
},
|
|
11
|
+
unregister(provider, model) {
|
|
12
|
+
return byId.delete(key(provider, model));
|
|
13
|
+
},
|
|
11
14
|
get(provider, model) {
|
|
12
15
|
return byId.get(key(provider, model));
|
|
13
16
|
},
|