@semiont/core 0.5.31 → 0.5.33

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -2309,6 +2309,16 @@ interface components {
2309
2309
  annotationId: string;
2310
2310
  resourceId: string;
2311
2311
  };
2312
+ /**
2313
+ * @description How a job's annotations were established as durable — the OBSERVATION, never a conclusion drawn from it. 'acknowledged': the event log confirmed the batch (mark:commit-ok). 'probe-confirmed': the acknowledgement was lost and a later read found the batch's last annotation present — true, but a weaker claim than an ack, since it rests on the log appending a batch in order and stopping at the first failure. 'probe-refused': the read returned a failure reply; note this does NOT assert the annotations are absent, because a read that failed for its own reasons answers on the same channel. 'probe-unreachable': no answer came at all, so nothing was established either way. ABSENT means the question never arose — a job that committed no annotations. Never defaulted: a manufactured value here is a claim nobody made, in a log nobody can rewrite.
2314
+ * @enum {string}
2315
+ */
2316
+ DurabilityEvidence: "acknowledged" | "probe-confirmed" | "probe-refused" | "probe-unreachable";
2317
+ /**
2318
+ * @description Worker-side classification of a job failure, made where the error is still typed (at the gateway it is already a flattened string, and message-regex classification is the drift this exists to avoid). 'deterministic' — the same request cannot succeed on a second attempt — skips the retry budget. ABSENT means unrecognised, which is deliberately not the same claim as 'transient': only KNOWN-deterministic failures carry the class, because mis-reading a transient failure as deterministic halves reliability while the reverse costs one wasted attempt.
2319
+ * @enum {string}
2320
+ */
2321
+ FailureClass: "transient" | "deterministic";
2312
2322
  /** @description Context gathered for a gather.* call — consumed by yield.* (generation) and the matcher. A shared base (graph, semanticContext, metadata, inferredRelationshipSummary) plus a discriminated `focus` that names the anchor: an annotation or a whole resource. */
2313
2323
  GatheredContext: {
2314
2324
  /** @description The gather anchor. Discriminated on `kind`. */
@@ -2578,6 +2588,7 @@ interface components {
2578
2588
  /** @description Annotation this job is attached to, when applicable. Lets the UI route completion feedback (toast, resolve state) to a specific annotation. */
2579
2589
  annotationId?: string;
2580
2590
  result?: components["schemas"]["JobResult"];
2591
+ durability?: components["schemas"]["DurabilityEvidence"];
2581
2592
  };
2582
2593
  /** @description Payload for job:completed domain event */
2583
2594
  JobCompletedPayload: {
@@ -2596,6 +2607,7 @@ interface components {
2596
2607
  result?: {
2597
2608
  [key: string]: unknown;
2598
2609
  };
2610
+ durability?: components["schemas"]["DurabilityEvidence"];
2599
2611
  };
2600
2612
  /** @description Command to create a new job via the event bus */
2601
2613
  JobCreateCommand: {
@@ -2628,13 +2640,10 @@ interface components {
2628
2640
  error: string;
2629
2641
  /** @description Entity-type units whose annotations were fully emitted before this failure (checkpointed resume). The queue records them on the retried job's metadata; a retried claim skips them so completed work is neither redone nor duplicated. */
2630
2642
  completedUnits?: string[];
2631
- /**
2632
- * @description Worker-side classification of the failure, made where the error is still typed. 'deterministic' — the same request cannot succeed on a second attempt — skips the retry budget; absent or 'transient' retries as before. Only KNOWN-deterministic failures carry the class.
2633
- * @enum {string}
2634
- */
2635
- failureClass?: "transient" | "deterministic";
2643
+ failureClass?: components["schemas"]["FailureClass"];
2636
2644
  /** @description Whether the queue will re-queue this job for another attempt. Computed by the worker from the SAME predicate the queue applies at failJob (one decision site, `willRetryAfter` in @semiont/jobs) using the retry budget carried on the claimed record. FALSE (or absent) means this failure is TERMINAL: a client's job-watch stream ends here. TRUE means the work continues on a fresh attempt — the failure is an event, not the end, and a stream that terminated on it would report a recovering run as a failed one (JOB-RESTART-SAFETY P5). */
2637
2645
  willRetry?: boolean;
2646
+ durability?: components["schemas"]["DurabilityEvidence"];
2638
2647
  };
2639
2648
  /** @description Command to persist a running job's completed-unit checkpoint AT unit completion (JOB-RESTART-SAFETY P2). Distinct from JobFailCommand's checkpoint, which lands only on a clean failure: a worker that dies (crash/OOM/kill) never emits job:fail, so this durable, unthrottled write is what lets the janitor's stale-running recovery resume a dead worker's job rather than redo its finished units. */
2640
2649
  JobCheckpointCommand: {
@@ -2662,14 +2671,17 @@ interface components {
2662
2671
  */
2663
2672
  reason: "no-text-layer" | "encrypted" | "corrupt" | "too-large" | "empty";
2664
2673
  };
2665
- /** @description Payload for job:failed domain event */
2674
+ /** @description Payload for the job:failed domain event — a permanent fact of the resource, not operational state. It carries the judgments the worker COMPUTED, not just its message: at the log they are otherwise unrecoverable, the only remaining witness being a flattened English string. */
2666
2675
  JobFailedPayload: {
2667
2676
  jobId: string;
2668
2677
  jobType: components["schemas"]["JobType"];
2669
2678
  /** @description Annotation this job was attached to, when applicable */
2670
2679
  annotationId?: string;
2671
2680
  error: string;
2672
- details?: string;
2681
+ failureClass?: components["schemas"]["FailureClass"];
2682
+ /** @description Whether the worker computed that the queue would re-queue this job (same predicate the queue applies, `willRetryAfter`). Absent means the worker stated nothing. Without it a reader of the log cannot tell a run recovering across several job:failed events from that many dead jobs. */
2683
+ willRetry?: boolean;
2684
+ durability?: components["schemas"]["DurabilityEvidence"];
2673
2685
  };
2674
2686
  /** @description Result of a completed generation job. The worker creates the resource first (the yield:create round-trip returns the id), then emits job:complete carrying it — so resourceId is always present on the wire. */
2675
2687
  JobGenerationResult: {
@@ -2719,6 +2731,8 @@ interface components {
2719
2731
  total?: number;
2720
2732
  /** @description Entities found so far (reference-annotation) */
2721
2733
  entitiesFound?: number;
2734
+ /** @description Cumulative mentions the count-verifier priced across the pieces accepted so far — the denominator for a real progress bar (found of ~expected). Approximate by nature (the count saturates on very large pieces) and monotonically growing within a run. ABSENT when the provider does not verify detection yield, or before any piece has been priced: no claim, never zero. */
2735
+ entitiesExpected?: number;
2722
2736
  /** @description Annotations emitted so far (reference-annotation) */
2723
2737
  entitiesEmitted?: number;
2724
2738
  /** @description Per-item results for the items already finished, for the UI's completed log. Generic across flows for the same reason `current` is. */
@@ -2729,6 +2743,15 @@ interface components {
2729
2743
  foundCount: number;
2730
2744
  /** @description Annotations actually persisted for it — post-dedupe and post-durability-acknowledgement, so it counts what the event log holds, not what the model proposed. Beside foundCount this is the per-unit yield the sizing work is judged by. Present on flows whose units persist as they complete (reference-annotation); the tagging flow reports the same fact as byCategory on its result, because its annotations are built after the per-category loop. */
2731
2745
  persistedCount?: number;
2746
+ /** @description Present only when pieces of this unit were accepted at the subdivision floor while a count call said more was present. The unit completed, but incompletely — this carries the EVIDENCE (found vs counted, over how many pieces), never a judgment against any expected yield. Absent means complete: genuinely absent, not defaulted. */
2747
+ underReported?: {
2748
+ /** @description Floor-accepted pieces in this unit. */
2749
+ pieces: number;
2750
+ /** @description Annotations extraction did find on those pieces — every span write-time-verified. */
2751
+ found: number;
2752
+ /** @description Mentions the count calls reported across those pieces (approximate by nature). */
2753
+ counted: number;
2754
+ };
2732
2755
  }[];
2733
2756
  /** @description Echoed job parameters for display in the progress UI. `label` is a CODE, not a sentence — the client owns the wording, same rule as the progress message. `value` is the user's own input (an entity-type list, their instructions) and is deliberately NOT translated: it is their words, not ours. */
2734
2757
  requestParams?: {
@@ -2859,6 +2882,8 @@ interface components {
2859
2882
  totalEmitted: number;
2860
2883
  /** @description Number of errors encountered */
2861
2884
  errors: number;
2885
+ /** @description Total floor-accepted under-reported pieces across the job's units. Absent means none — the per-unit evidence rides the terminal progress frame's completedItems; this keeps the result self-describing without the progress stream. */
2886
+ underReportedPieces?: number;
2862
2887
  };
2863
2888
  /** @description Command to report progress on a job */
2864
2889
  JobReportProgressCommand: {
@@ -3024,7 +3049,7 @@ interface components {
3024
3049
  correlationId: string;
3025
3050
  /** @description What the commit persisted. */
3026
3051
  response: {
3027
- /** @description Annotations this commit appended to the event log. Equals the batch size on success a retry re-appends what already landed rather than counting it out, because the annotation fold is idempotent by id and the log is append-only. Not a dedupe count. */
3052
+ /** @description Annotations the command named that are durable in the event log. Equals the batch size on success, on a first commit and on a retry alike — the commit appends only what the resource does not already hold, so a wholly-redundant retry has still succeeded and says so. Not an append tally: a caller must never have to read a 0 as 'all good'. */
3028
3053
  persisted: number;
3029
3054
  /** @description Ids the batch covers, whether appended now or already present. */
3030
3055
  annotationIds: string[];
@@ -4716,6 +4741,11 @@ type EmittableChannel = {
4716
4741
 
4717
4742
  type Selector = components['schemas']['TextPositionSelector'] | components['schemas']['TextQuoteSelector'] | components['schemas']['SvgSelector'] | components['schemas']['FragmentSelector'];
4718
4743
  type GatheredContext = components['schemas']['GatheredContext'];
4744
+ type JobReferenceAnnotationResult = components['schemas']['JobReferenceAnnotationResult'];
4745
+ type JobHighlightAnnotationResult = components['schemas']['JobHighlightAnnotationResult'];
4746
+ type JobCommentAnnotationResult = components['schemas']['JobCommentAnnotationResult'];
4747
+ type JobAssessmentAnnotationResult = components['schemas']['JobAssessmentAnnotationResult'];
4748
+ type JobTagAnnotationResult = components['schemas']['JobTagAnnotationResult'];
4719
4749
  /**
4720
4750
  * The `job:create` params shape for `jobType: 'generation'` — one type shared
4721
4751
  * by the write side (sdk `yield.fromContext` → `runGeneration`) and the read
@@ -8200,4 +8230,4 @@ declare function getShardPath(key: string, numBuckets?: number): [string, string
8200
8230
  declare const DISCOVERY_URL_PATH = "/discovery/kbs.json";
8201
8231
 
8202
8232
  export { AUTHORABLE_MEDIA_TYPES, BRIDGED_CHANNELS, BUS_OPERATIONS, BusRequestError, CHANNEL_SCHEMAS, CONTEXT_FULL_WEIGHT, CONTEXT_PARTIAL_WEIGHT, ConfigurationError, ConflictError, DEFAULT_CHUNKING_CONFIG, DISCOVERY_URL_PATH, EMBEDDABLE_MEDIA_TYPES, EventBus, GENERATABLE_MEDIA_TYPES, JWTTokenSchema, LOCALES, MEDIA_TYPES, NotFoundError, PERSISTED_EVENT_TYPES, POSITION_WEIGHT_MAX, POSITION_WINDOW, RESOURCE_BROADCAST_TYPES, STARTUP_FETCH_RETRY, ScopedEventBus, ScriptError, SemiontError, UnauthorizedError, ValidationError, accessToken, agentToDid, anchorAnnotation, anchorRuns, annotationId, annotationUri, applyBodyOperations, assembleAnnotation, authCode, baseMediaType, baseUrl, buildContentCache, burstBuffer, busLog, busLogEnabled, busRequest, capabilitiesOf, chunkText, cloneFormat, cloneToken, createCircleSvg, createFragmentSelector, createPolygonSvg, createRectangleSvg, createTomlConfigLoader, decodeRepresentation, decodeWithCharset, deriveStorageUri, deriveViews, didToAgent, email, entityType, errField, estimateTokens, extensionForMediaType, extractBoundingBox, extractCharset, extractContext, findBestTextMatch, findBodyItem, findClaimSpan, folderOf, formatLocaleDisplay, generateUuid, getAllLocaleCodes, getAllPlatformTypes, getAnnotationExactText, getAnnotationUriFromEvent, getBodySource, getBodyType, getChecksum, getCommentText, getCreator, getDerivedFrom, getExactText, getFragmentSelector, getLanguage, getLocaleEnglishName, getLocaleInfo, getLocaleNativeName, getNodeEncoding, getPageFromFragment, getPrimaryMediaType, getPrimaryRepresentation, getPrimarySelector, getResourceEntityTypes, getResourceId, getShardPath, getStorageUri, getSvgSelector, getTargetSelector, getTargetSource, getTextPositionSelector, getTextQuoteSelector, googleCredential, hasTargetSelector, isAnnotatable, isAnnotationId, isArchived, isArray, isAssessment, isBodyResolved, isBoolean, isComment, isDefined, isDraft, isEventRelatedToAnnotation, isFunction, isGatheredContext, isGenerationJobParams, isHighlight, isNull, isNullish, isNumber, isObject, isReference, isResolvedReference, isResourceId, isRetryableRequestError, isStoredEvent, isString, isStubReference, isSupportedMediaType, isTag, isTextRun, isTransientFetchError, isUndefined, isValidEmail, isValidPlatformType, jobId, jumpConsistentHash, kbDid, loadTomlConfig, locate, mcpToken, mediaTypeForExtension, normalizeCoordinates, normalizeText, parseEnvironment, parseFragmentSelector, parseSvgSelector, proposeStoragePath, reconcileSelector, refreshToken, replyChannelsFor, resourceAnnotationUri, resourceId, resourceUri, retryWithBackoff, scaleSvgToNative, searchQuery, serializePerKey, setBusLogTraceIdProvider, softwareToAgent, storageFileName, textSourceOf, textUnder, userDID, userId, userToAgent, userToDid, uuidV4, validateData, validateEnvironment, validateSvgMarkup, verifyPosition, yieldsGeometryOf };
8203
- export type { AccessToken, AnchorConfidence, AnchorMethod, AnchorRect, AnchorSelectors, AnchorStrategy, AnchoredText, AnchoredTextAnswer, AnchoringModel, Annotation, AnnotationCategory, AnnotationId, AnnotationUri, AnthropicProviderConfig, AppConfig, ArchivistServiceConfig, AssembledAnnotation, AuthCode, BaseUrl, BodyItem, BodyItemIdentity, BodyOperation, BoundingBox, Brand, BridgedChannel, BurstBufferOptions, BusOp, BusOperationKey, BusOperationSpec, BusRequestErrorCode, BusRequestPrimitive, ChunkingConfig, CloneToken, CollaboratorEntry, ConnectionState, ContentCache, ContentFormat, CreateAnnotationInternal, DatabaseServiceConfig, DiscoveredKB, DiscoveryDocument, Email, EmbeddingServiceConfig, EmittableChannel, EntityType, EntityTypeStats, Environment, EnvironmentConfig, EventBase, EventInput, EventMap, EventMetadata, EventName, EventOfType, EventQuery, EventSignature, ExtractionOutcome, FragmentSelector, GatewayServiceConfig, GatheredContext, GenerationJobParams, GoogleAuthRequest, GoogleCredential, GraphConnection, GraphDatabaseType, GraphPath, GraphServiceConfig, GraphViews, HealthCheckResponse, HttpStatusError, IContentTransport, IGatewayOperations, ITransport, InferenceProvidersConfig, JobId, JobType, ListUsersResponse, LlmSelectorInput, LocaleInfo, Logger, MCPToken, MatchQuality, McpServiceConfig, MediaTypeCapabilities, Motivation, OllamaProviderConfig, PdfCoordinate, PdfTextItem, PdfTextRun, PersistedEvent, PersistedEventType, PlatformType, Point, PutBinaryOptions, PutBinaryProgress, PutBinaryRequest, ReconciledSelector, RefreshToken, RenderMode, RenderedAnchor, ResourceAnnotationUri, ResourceAnnotations, ResourceBroadcastType, ResourceDescriptor, ResourceFilter, ResourceId, ResourceUri, RetryAttemptInfo, RetryPolicy, SearchQuery, SelectionData, Selector, SemiontConfig, ServicePlatformConfig, ServicesConfig, SiteConfig, StateUnit, StatusResponse, StoredEvent, StoredEventLike, StoredResource, SupportedMediaType, SvgSelector, TagCategory, TagSchema, TextPosition, TextPositionSelector, TextQuoteSelector, TextSource, ActorInferenceConfig as TomlActorInferenceConfig, TomlFileReader, InferenceConfig as TomlInferenceConfig, WorkerInferenceConfig as TomlWorkerInferenceConfig, TransportErrorCode, UpdateResourceInput, UpdateUserRequest, UpdateUserResponse, UserDID, UserId, UserResponse, ValidationFailure, ValidationResult, ValidationSuccess, VectorsServiceConfig, components, operations, paths };
8233
+ export type { AccessToken, AnchorConfidence, AnchorMethod, AnchorRect, AnchorSelectors, AnchorStrategy, AnchoredText, AnchoredTextAnswer, AnchoringModel, Annotation, AnnotationCategory, AnnotationId, AnnotationUri, AnthropicProviderConfig, AppConfig, ArchivistServiceConfig, AssembledAnnotation, AuthCode, BaseUrl, BodyItem, BodyItemIdentity, BodyOperation, BoundingBox, Brand, BridgedChannel, BurstBufferOptions, BusOp, BusOperationKey, BusOperationSpec, BusRequestErrorCode, BusRequestPrimitive, ChunkingConfig, CloneToken, CollaboratorEntry, ConnectionState, ContentCache, ContentFormat, CreateAnnotationInternal, DatabaseServiceConfig, DiscoveredKB, DiscoveryDocument, Email, EmbeddingServiceConfig, EmittableChannel, EntityType, EntityTypeStats, Environment, EnvironmentConfig, EventBase, EventInput, EventMap, EventMetadata, EventName, EventOfType, EventQuery, EventSignature, ExtractionOutcome, FragmentSelector, GatewayServiceConfig, GatheredContext, GenerationJobParams, GoogleAuthRequest, GoogleCredential, GraphConnection, GraphDatabaseType, GraphPath, GraphServiceConfig, GraphViews, HealthCheckResponse, HttpStatusError, IContentTransport, IGatewayOperations, ITransport, InferenceProvidersConfig, JobAssessmentAnnotationResult, JobCommentAnnotationResult, JobHighlightAnnotationResult, JobId, JobReferenceAnnotationResult, JobTagAnnotationResult, JobType, ListUsersResponse, LlmSelectorInput, LocaleInfo, Logger, MCPToken, MatchQuality, McpServiceConfig, MediaTypeCapabilities, Motivation, OllamaProviderConfig, PdfCoordinate, PdfTextItem, PdfTextRun, PersistedEvent, PersistedEventType, PlatformType, Point, PutBinaryOptions, PutBinaryProgress, PutBinaryRequest, ReconciledSelector, RefreshToken, RenderMode, RenderedAnchor, ResourceAnnotationUri, ResourceAnnotations, ResourceBroadcastType, ResourceDescriptor, ResourceFilter, ResourceId, ResourceUri, RetryAttemptInfo, RetryPolicy, SearchQuery, SelectionData, Selector, SemiontConfig, ServicePlatformConfig, ServicesConfig, SiteConfig, StateUnit, StatusResponse, StoredEvent, StoredEventLike, StoredResource, SupportedMediaType, SvgSelector, TagCategory, TagSchema, TextPosition, TextPositionSelector, TextQuoteSelector, TextSource, ActorInferenceConfig as TomlActorInferenceConfig, TomlFileReader, InferenceConfig as TomlInferenceConfig, WorkerInferenceConfig as TomlWorkerInferenceConfig, TransportErrorCode, UpdateResourceInput, UpdateUserRequest, UpdateUserResponse, UserDID, UserId, UserResponse, ValidationFailure, ValidationResult, ValidationSuccess, VectorsServiceConfig, components, operations, paths };
package/dist/openapi.d.ts CHANGED
@@ -92,6 +92,7 @@ declare const DirEntry: ValidateFunction<components['schemas']['DirEntry']>;
92
92
  declare const DirectoryEntry: ValidateFunction<components['schemas']['DirectoryEntry']>;
93
93
  declare const DiscoveredKB: ValidateFunction<components['schemas']['DiscoveredKB']>;
94
94
  declare const DiscoveryDocument: ValidateFunction<components['schemas']['DiscoveryDocument']>;
95
+ declare const DurabilityEvidence: ValidateFunction<components['schemas']['DurabilityEvidence']>;
95
96
  declare const EnrichedResourceEvent: ValidateFunction<components['schemas']['EnrichedResourceEvent']>;
96
97
  declare const EntityTagChangedPayload: ValidateFunction<components['schemas']['EntityTagChangedPayload']>;
97
98
  declare const EntityTypeAddedPayload: ValidateFunction<components['schemas']['EntityTypeAddedPayload']>;
@@ -101,6 +102,7 @@ declare const EventStreamResponse: ValidateFunction<components['schemas']['Event
101
102
  declare const ExtractedText: ValidateFunction<components['schemas']['ExtractedText']>;
102
103
  declare const ExtractionDeclined: ValidateFunction<components['schemas']['ExtractionDeclined']>;
103
104
  declare const ExtractionOutcome: ValidateFunction<components['schemas']['ExtractionOutcome']>;
105
+ declare const FailureClass: ValidateFunction<components['schemas']['FailureClass']>;
104
106
  declare const FileEntry: ValidateFunction<components['schemas']['FileEntry']>;
105
107
  declare const FragmentSelector: ValidateFunction<components['schemas']['FragmentSelector']>;
106
108
  declare const FrameAddEntityTypeCommand: ValidateFunction<components['schemas']['FrameAddEntityTypeCommand']>;
@@ -326,6 +328,7 @@ declare const generated_DirEntry: typeof DirEntry;
326
328
  declare const generated_DirectoryEntry: typeof DirectoryEntry;
327
329
  declare const generated_DiscoveredKB: typeof DiscoveredKB;
328
330
  declare const generated_DiscoveryDocument: typeof DiscoveryDocument;
331
+ declare const generated_DurabilityEvidence: typeof DurabilityEvidence;
329
332
  declare const generated_EnrichedResourceEvent: typeof EnrichedResourceEvent;
330
333
  declare const generated_EntityTagChangedPayload: typeof EntityTagChangedPayload;
331
334
  declare const generated_EntityTypeAddedPayload: typeof EntityTypeAddedPayload;
@@ -335,6 +338,7 @@ declare const generated_EventStreamResponse: typeof EventStreamResponse;
335
338
  declare const generated_ExtractedText: typeof ExtractedText;
336
339
  declare const generated_ExtractionDeclined: typeof ExtractionDeclined;
337
340
  declare const generated_ExtractionOutcome: typeof ExtractionOutcome;
341
+ declare const generated_FailureClass: typeof FailureClass;
338
342
  declare const generated_FileEntry: typeof FileEntry;
339
343
  declare const generated_FragmentSelector: typeof FragmentSelector;
340
344
  declare const generated_FrameAddEntityTypeCommand: typeof FrameAddEntityTypeCommand;
@@ -561,6 +565,7 @@ declare namespace generated {
561
565
  generated_DirectoryEntry as DirectoryEntry,
562
566
  generated_DiscoveredKB as DiscoveredKB,
563
567
  generated_DiscoveryDocument as DiscoveryDocument,
568
+ generated_DurabilityEvidence as DurabilityEvidence,
564
569
  generated_EnrichedResourceEvent as EnrichedResourceEvent,
565
570
  generated_EntityTagChangedPayload as EntityTagChangedPayload,
566
571
  generated_EntityTypeAddedPayload as EntityTypeAddedPayload,
@@ -570,6 +575,7 @@ declare namespace generated {
570
575
  generated_ExtractedText as ExtractedText,
571
576
  generated_ExtractionDeclined as ExtractionDeclined,
572
577
  generated_ExtractionOutcome as ExtractionOutcome,
578
+ generated_FailureClass as FailureClass,
573
579
  generated_FileEntry as FileEntry,
574
580
  generated_FragmentSelector as FragmentSelector,
575
581
  generated_FrameAddEntityTypeCommand as FrameAddEntityTypeCommand,