@arnilo/prism 0.0.14 → 0.0.16
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 +22 -2
- package/README.md +5 -4
- package/dist/agent-definitions.js +2 -3
- package/dist/agent-loops.d.ts +4 -0
- package/dist/agent-loops.js +28 -10
- package/dist/agent-run-lifecycle.d.ts +1 -2
- package/dist/agent-run-lifecycle.js +1 -1
- package/dist/agent-run-state.js +16 -3
- package/dist/agents.d.ts +1 -1
- package/dist/agents.js +121 -51
- package/dist/cache-helpers.js +18 -9
- package/dist/checkpoints.js +5 -9
- package/dist/cli-init.js +3 -7
- package/dist/cli-runner.d.ts +1 -1
- package/dist/cli-runner.js +74 -13
- package/dist/compaction.js +5 -4
- package/dist/config.js +7 -4
- package/dist/content.js +26 -24
- package/dist/context-budget.js +12 -8
- package/dist/contracts.d.ts +79 -3
- package/dist/contracts.js +4 -1
- package/dist/contribution-parsing.js +6 -2
- package/dist/conversations.js +2 -1
- package/dist/credentials.d.ts +1 -1
- package/dist/credentials.js +3 -1
- package/dist/event-multiplexer.js +1 -3
- package/dist/feedback.js +11 -9
- package/dist/guardrails.d.ts +1 -1
- package/dist/guardrails.js +17 -14
- package/dist/identity.js +10 -2
- package/dist/index.d.ts +83 -84
- package/dist/index.js +42 -42
- package/dist/input.d.ts +2 -2
- package/dist/input.js +40 -24
- package/dist/instruction-injection.d.ts +1 -1
- 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.d.ts +1 -0
- package/dist/provider-events.js +6 -1
- package/dist/provider-request-policy.js +3 -4
- package/dist/providers/media.d.ts +1 -1
- package/dist/providers/openai-compatible.js +3 -4
- package/dist/providers/openai-primitives.js +7 -7
- package/dist/redaction.d.ts +1 -0
- package/dist/redaction.js +5 -2
- package/dist/resources.d.ts +2 -2
- package/dist/resources.js +2 -2
- package/dist/rpc.js +42 -9
- package/dist/run-ledger.js +13 -4
- 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 +13 -13
- 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/host-security.md +4 -1
- package/docs/index.md +14 -11
- package/docs/migration.md +58 -1
- package/docs/multimodal-content.md +8 -5
- package/docs/performance.md +67 -0
- package/docs/provider-caching.md +8 -0
- package/docs/provider-conformance.md +29 -5
- package/docs/provider-packages.md +22 -1
- package/docs/providers/ai-sdk.md +23 -7
- package/docs/providers/openai.md +22 -3
- package/docs/public-contracts.md +1 -1
- package/docs/rag.md +41 -12
- package/docs/release-and-install.md +153 -16
- package/docs/resource-loading.md +3 -0
- package/docs/working-and-semantic-memory.md +22 -4
- 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/dist/guardrails.js
CHANGED
|
@@ -7,9 +7,7 @@ export class GuardrailError extends Error {
|
|
|
7
7
|
constructor(record) {
|
|
8
8
|
super(record.action === "interrupt" ? "Guardrail interruption is unavailable" : "Guardrail blocked run");
|
|
9
9
|
this.name = "GuardrailError";
|
|
10
|
-
this.code = record.action === "interrupt"
|
|
11
|
-
? "ERR_PRISM_GUARDRAIL_INTERRUPT_UNAVAILABLE"
|
|
12
|
-
: "ERR_PRISM_GUARDRAIL_BLOCKED";
|
|
10
|
+
this.code = record.action === "interrupt" ? "ERR_PRISM_GUARDRAIL_INTERRUPT_UNAVAILABLE" : "ERR_PRISM_GUARDRAIL_BLOCKED";
|
|
13
11
|
this.record = record;
|
|
14
12
|
}
|
|
15
13
|
}
|
|
@@ -20,9 +18,7 @@ export async function runGuardrails(options) {
|
|
|
20
18
|
return { records: [] };
|
|
21
19
|
const maxConcurrency = resolveConcurrency(options.guardrails?.maxConcurrency);
|
|
22
20
|
const controller = new AbortController();
|
|
23
|
-
const signal = options.context.signal
|
|
24
|
-
? AbortSignal.any([options.context.signal, controller.signal])
|
|
25
|
-
: controller.signal;
|
|
21
|
+
const signal = options.context.signal ? AbortSignal.any([options.context.signal, controller.signal]) : controller.signal;
|
|
26
22
|
const records = new Array(guards.length);
|
|
27
23
|
let next = 0;
|
|
28
24
|
let stopped = false;
|
|
@@ -66,14 +62,23 @@ function stageGuards(guardrails, stage) {
|
|
|
66
62
|
if (!guardrails)
|
|
67
63
|
return [];
|
|
68
64
|
switch (stage) {
|
|
69
|
-
case "input":
|
|
70
|
-
|
|
71
|
-
case "
|
|
72
|
-
|
|
65
|
+
case "input":
|
|
66
|
+
return (guardrails.input ?? []);
|
|
67
|
+
case "output":
|
|
68
|
+
return (guardrails.output ?? []);
|
|
69
|
+
case "tool_input":
|
|
70
|
+
return (guardrails.toolInput ?? []);
|
|
71
|
+
case "tool_output":
|
|
72
|
+
return (guardrails.toolOutput ?? []);
|
|
73
73
|
}
|
|
74
74
|
}
|
|
75
75
|
async function evaluate(guardrail, options, signal) {
|
|
76
|
-
if (!guardrail ||
|
|
76
|
+
if (!guardrail ||
|
|
77
|
+
typeof guardrail.name !== "string" ||
|
|
78
|
+
!guardrail.name ||
|
|
79
|
+
guardrail.name.length > 128 ||
|
|
80
|
+
guardrail.stage !== options.stage ||
|
|
81
|
+
typeof guardrail.evaluate !== "function") {
|
|
77
82
|
return record(guardrail?.name ?? "invalid", options.stage, "tripwire", "guardrail_invalid", undefined, options.redactor);
|
|
78
83
|
}
|
|
79
84
|
try {
|
|
@@ -115,9 +120,7 @@ function boundedMetadata(value, redactor) {
|
|
|
115
120
|
if (!json || byteLength(json) > MAX_METADATA_BYTES)
|
|
116
121
|
return { truncated: true };
|
|
117
122
|
const parsed = JSON.parse(json);
|
|
118
|
-
return parsed && typeof parsed === "object" && !Array.isArray(parsed)
|
|
119
|
-
? parsed
|
|
120
|
-
: undefined;
|
|
123
|
+
return parsed && typeof parsed === "object" && !Array.isArray(parsed) ? parsed : undefined;
|
|
121
124
|
}
|
|
122
125
|
catch {
|
|
123
126
|
return { invalid: true };
|
package/dist/identity.js
CHANGED
|
@@ -104,9 +104,17 @@ export function narrowIdentity(parent, options) {
|
|
|
104
104
|
scopes: Object.freeze([...options.scopes]),
|
|
105
105
|
credentialRefs: Object.freeze([...(options.credentialRefs ?? parent.credentialRefs ?? [])]),
|
|
106
106
|
issuedAt: parent.issuedAt,
|
|
107
|
-
...(options.expiresAt !== undefined
|
|
107
|
+
...(options.expiresAt !== undefined
|
|
108
|
+
? { expiresAt: options.expiresAt }
|
|
109
|
+
: parent.expiresAt !== undefined
|
|
110
|
+
? { expiresAt: parent.expiresAt }
|
|
111
|
+
: {}),
|
|
108
112
|
...(parent.revokedAt !== undefined ? { revokedAt: parent.revokedAt } : {}),
|
|
109
|
-
...(options.metadata !== undefined
|
|
113
|
+
...(options.metadata !== undefined
|
|
114
|
+
? { metadata: options.metadata }
|
|
115
|
+
: parent.metadata !== undefined
|
|
116
|
+
? { metadata: parent.metadata }
|
|
117
|
+
: {}),
|
|
110
118
|
verified: true,
|
|
111
119
|
};
|
|
112
120
|
assertIdentityActive(child, { limits: options.limits });
|
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, } 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";
|
|
73
|
-
export {
|
|
74
|
-
export type {
|
|
75
|
-
export {
|
|
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";
|
|
62
|
+
export { providerContentDelta, providerContinuationRequired, providerDone, providerError, providerTextDelta, providerThinkingDelta, providerToolCall, providerToolCallDelta, providerUsage, toolCallContent, toolCallFromArgumentsText, } from "./provider-events.js";
|
|
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.16";
|
|
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";
|
|
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";
|
|
28
|
+
export { definePrismManifest, parsePrismManifest } from "./manifests.js";
|
|
29
|
+
export { createMiddlewareRegistry } from "./middleware.js";
|
|
30
|
+
export { createMockProvider } from "./mock-provider.js";
|
|
21
31
|
export { createModelRegistry } from "./models.js";
|
|
22
|
-
export { authMethodKey, defineProviderPackage, systemPromptContributionKey } from "./provider-packages.js";
|
|
23
|
-
export { assertStructuredOutputRequestSupported, artifactStructuredOutputRequest, DEFAULT_MAX_STRUCTURED_OUTPUT_NAME_LENGTH, DEFAULT_MAX_STRUCTURED_OUTPUT_SCHEMA_BYTES, modelSupportsStructuredOutput, resolveRunProviderOptions, StructuredOutputError, validateStructuredOutputOptions, withoutStructuredOutput, } from "./structured-output.js";
|
|
24
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";
|
|
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";
|
|
25
36
|
export { createProviderRequestPolicyChain, createSessionCachePolicy, mergeProviderRequestOptions } from "./provider-request-policy.js";
|
|
26
|
-
export {
|
|
27
|
-
export {
|
|
28
|
-
export { composeSystemPrompt, mergeSystemPromptConfig } from "./system-prompts.js";
|
|
29
|
-
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";
|
|
37
|
+
export { createProviderRegistry, createProviderResolver } from "./providers.js";
|
|
38
|
+
export { createSecretRedactor, errorToErrorInfo, redactAgentEvent, redactMessage, redactProviderRequest, redactRunLedgerRecord, redactSecrets, redactSessionEntry, resolveRedactor, } from "./redaction.js";
|
|
31
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";
|
|
32
46
|
export { createChainedSettingsProvider, createStaticSettingsProvider } from "./settings.js";
|
|
33
|
-
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
|
-
export { createMockProvider } from "./mock-provider.js";
|
|
37
|
-
export { createMemorySessionStore, createSessionEntry, getSessionBranchEntries, listSessionBranches, rebuildSessionContext } from "./session-stores.js";
|
|
38
|
-
export { CONVERSATION_METADATA_KEY, DEFAULT_MAX_CONVERSATION_CURSOR_BYTES, HARD_MAX_CONVERSATION_CURSOR_BYTES, ConversationError, conversationMarkerMetadata, conversationThreadFromRecord, decodeConversationReplayCursor, encodeConversationReplayCursor, } from "./conversations.js";
|
|
39
|
-
export { ARTIFACT_CHECKPOINT_NAMESPACE, ArtifactError, artifactApprovalState, artifactCheckpointKey, } from "./artifacts.js";
|
|
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";
|
|
41
|
-
export { providerContentDelta, providerDone, providerError, providerTextDelta, providerThinkingDelta, providerToolCall, providerToolCallDelta, providerUsage, toolCallContent, toolCallFromArgumentsText, } from "./provider-events.js";
|
|
42
|
-
export { createProviderRegistry, createProviderResolver } from "./providers.js";
|
|
43
|
-
export { createSecretRedactor, errorToErrorInfo, redactAgentEvent, redactMessage, redactProviderRequest, redactRunLedgerRecord, redactSecrets, redactSessionEntry } from "./redaction.js";
|
|
44
|
-
export { assertPermission, assertTrusted, checkPermission, createStaticPermissionPolicy, createStaticTrustPolicy, denialToErrorInfo, isTrusted, PermissionDeniedError, TrustDeniedError } from "./security.js";
|
|
45
|
-
export { assertIdentityActive, assertIdentityMatchesOwnership, assertIdentityPropagation, DEFAULT_IDENTITY_LIMITS, HARD_IDENTITY_LIMITS, IdentityError, identityTelemetryAttributes, narrowIdentity, ownershipFromIdentity, resolveIdentityLimits, resolveRunIdentity, } from "./identity.js";
|
|
46
|
-
export { applyExecutionDecision, assertExecutionAllowed, checkExecution, ExecutionDeniedError } from "./execution-policy.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.16";
|
|
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,9 +1,9 @@
|
|
|
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",
|
|
@@ -18,13 +18,13 @@ export async function resolveContextProviders(options) {
|
|
|
18
18
|
const blocks = [];
|
|
19
19
|
for (const provider of options.providers ?? []) {
|
|
20
20
|
throwIfAborted(options.signal);
|
|
21
|
-
blocks.push(...await provider.resolve({
|
|
21
|
+
blocks.push(...(await provider.resolve({
|
|
22
22
|
sessionId: options.sessionId,
|
|
23
23
|
runId: options.runId,
|
|
24
24
|
messages: options.messages,
|
|
25
25
|
metadata: options.metadata,
|
|
26
26
|
signal: options.signal,
|
|
27
|
-
}));
|
|
27
|
+
})));
|
|
28
28
|
}
|
|
29
29
|
// ponytail: injector blocks after host+skill provider blocks (split by origin if per-block ordering matters).
|
|
30
30
|
if (options.injectedBlocks)
|
|
@@ -35,18 +35,13 @@ export function createDefaultPromptBuilder() {
|
|
|
35
35
|
return {
|
|
36
36
|
name: "default-prompt",
|
|
37
37
|
async build(request) {
|
|
38
|
-
return [
|
|
39
|
-
...contextMessages(request.context),
|
|
40
|
-
...skillMessages(request.skills),
|
|
41
|
-
...toolMessages(request.tools),
|
|
42
|
-
...request.messages,
|
|
43
|
-
];
|
|
38
|
+
return [...contextMessages(request.context), ...skillMessages(request.skills), ...toolMessages(request.tools), ...request.messages];
|
|
44
39
|
},
|
|
45
40
|
};
|
|
46
41
|
}
|
|
47
42
|
export function renderPromptTemplate(template, variables, options = {}) {
|
|
48
43
|
return template.replace(/\{\{\s*([A-Za-z0-9_]+)\s*\}\}/g, (match, name) => {
|
|
49
|
-
if (!Object.
|
|
44
|
+
if (!Object.hasOwn(variables, name)) {
|
|
50
45
|
if (options.missing === "preserve")
|
|
51
46
|
return match;
|
|
52
47
|
throw new Error(`Missing prompt template variable: ${name}`);
|
|
@@ -146,9 +141,7 @@ export async function assembleProviderInput(options) {
|
|
|
146
141
|
};
|
|
147
142
|
const providerMessages = await promptBuilder.build({ ...promptRequest, tools });
|
|
148
143
|
assertMessagesSupportModelCapabilities(options.model, providerMessages);
|
|
149
|
-
const metadata = budgetReport
|
|
150
|
-
? { ...options.metadata, [CONTEXT_BUDGET_REPORT_METADATA_KEY]: budgetReport }
|
|
151
|
-
: options.metadata;
|
|
144
|
+
const metadata = budgetReport ? { ...options.metadata, [CONTEXT_BUDGET_REPORT_METADATA_KEY]: budgetReport } : options.metadata;
|
|
152
145
|
return {
|
|
153
146
|
model: options.model,
|
|
154
147
|
messages: providerMessages,
|
|
@@ -176,9 +169,23 @@ async function buildDefaultInputMessageGroups(input, context) {
|
|
|
176
169
|
function flattenInputGroups(groups, layout) {
|
|
177
170
|
switch (layout) {
|
|
178
171
|
case "cache_aware":
|
|
179
|
-
return [
|
|
172
|
+
return [
|
|
173
|
+
...groups.instructions,
|
|
174
|
+
...groups.attachments,
|
|
175
|
+
...groups.summaries,
|
|
176
|
+
...groups.history,
|
|
177
|
+
...groups.toolResults,
|
|
178
|
+
...groups.input,
|
|
179
|
+
];
|
|
180
180
|
case "legacy":
|
|
181
|
-
return [
|
|
181
|
+
return [
|
|
182
|
+
...groups.instructions,
|
|
183
|
+
...groups.summaries,
|
|
184
|
+
...groups.history,
|
|
185
|
+
...groups.input,
|
|
186
|
+
...groups.attachments,
|
|
187
|
+
...groups.toolResults,
|
|
188
|
+
];
|
|
182
189
|
}
|
|
183
190
|
}
|
|
184
191
|
export function inputMessages(input) {
|
|
@@ -189,7 +196,7 @@ export function inputMessages(input) {
|
|
|
189
196
|
return [...input];
|
|
190
197
|
}
|
|
191
198
|
function instructionMessages(value, label) {
|
|
192
|
-
const items = typeof value === "string" ? [value] : value ?? [];
|
|
199
|
+
const items = typeof value === "string" ? [value] : (value ?? []);
|
|
193
200
|
return items.map((text) => textMessage("system", `${label}:\n${text}`));
|
|
194
201
|
}
|
|
195
202
|
function customInstructionMessages(value) {
|
|
@@ -241,13 +248,16 @@ async function resourceMessage(uri, context, attachment) {
|
|
|
241
248
|
function toolResultMessages(results) {
|
|
242
249
|
return (results ?? []).map((result) => ({
|
|
243
250
|
role: "tool",
|
|
244
|
-
content: [
|
|
251
|
+
content: [
|
|
252
|
+
{
|
|
245
253
|
type: "tool_result",
|
|
246
254
|
toolCallId: result.toolCallId,
|
|
247
255
|
name: result.name,
|
|
248
256
|
result: result.value,
|
|
249
257
|
error: result.error,
|
|
250
|
-
},
|
|
258
|
+
},
|
|
259
|
+
...(result.content ?? []),
|
|
260
|
+
],
|
|
251
261
|
metadata: result.metadata,
|
|
252
262
|
}));
|
|
253
263
|
}
|
|
@@ -265,12 +275,15 @@ function skillMessages(skills) {
|
|
|
265
275
|
function toolMessages(tools) {
|
|
266
276
|
if (!tools?.length)
|
|
267
277
|
return [];
|
|
268
|
-
return [
|
|
278
|
+
return [
|
|
279
|
+
textMessage("system", `Available tools:\n${tools.map((tool) => `- ${tool.name}${tool.description ? `: ${tool.description}` : ""}`).join("\n")}`),
|
|
280
|
+
];
|
|
269
281
|
}
|
|
270
282
|
function blockText(block) {
|
|
271
283
|
if (typeof block.content === "string")
|
|
272
284
|
return block.content;
|
|
273
|
-
return block.content
|
|
285
|
+
return block.content
|
|
286
|
+
.map((part) => {
|
|
274
287
|
if (part.type === "text" || part.type === "thinking")
|
|
275
288
|
return part.text;
|
|
276
289
|
if (part.type === "tool_result")
|
|
@@ -288,7 +301,8 @@ function blockText(block) {
|
|
|
288
301
|
if (part.type === "document")
|
|
289
302
|
return part.transcript ?? part.name ?? part.url ?? part.resourceUri ?? part.mediaType ?? "[document]";
|
|
290
303
|
return "[content]";
|
|
291
|
-
})
|
|
304
|
+
})
|
|
305
|
+
.join("\n");
|
|
292
306
|
}
|
|
293
307
|
function templateValue(value) {
|
|
294
308
|
if (typeof value === "string")
|
|
@@ -302,7 +316,9 @@ function sortJson(value) {
|
|
|
302
316
|
return value;
|
|
303
317
|
if (Array.isArray(value))
|
|
304
318
|
return value.map(sortJson);
|
|
305
|
-
return Object.fromEntries(Object.keys(value)
|
|
319
|
+
return Object.fromEntries(Object.keys(value)
|
|
320
|
+
.sort()
|
|
321
|
+
.map((key) => [key, sortJson(value[key])]));
|
|
306
322
|
}
|
|
307
323
|
function throwIfAborted(signal) {
|
|
308
324
|
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
|