Serveur MCP

MemoStem

io.github.girapphe/memostem
Connaissance et documentation Productivité Public et accessible MCP 2025-11-25

Ce que fait ce MCP

Creates, validates, previews, and stores user-approved general-knowledge cards and structured knowledge bundles.

check_memostem_connection
Check MemoStem connection
Verify the authenticated MemoStem connection and report only the currently granted knowledge permissions. This test does not read or write knowledge.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status', 'granted_scopes', 'draft_review_path', 'settings_path'], 'properties': {'status': {'type': 'string', 'const': 'connected'}, 'settings_path': {'type': 'string', 'const': '/settings#ai-connections'}, 'granted_scopes': {'type': 'array', 'items': {'enum': ['knowledge:drafts:create', 'knowledge:context:read', 'knowledge:drafts:status'], 'type': 'string'}, 'maxItems': 3, 'minItems': 1}, 'draft_review_path': {'type': 'string', 'const': '/knowledge-inbox'}}, 'additionalProperties': False}
claim_guest_knowledge_workspace
Connect and keep a guest knowledge shelf
Transfer the temporary guest shelf identified by workspace_token to the authenticated MemoStem owner as private pending drafts. Call only after the person explicitly agrees to connect or after the guest shelf reports account_required. This tool never approves or publishes cards.
Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['workspace_token'], 'properties': {'workspace_token': {'type': 'string', 'pattern': '^mgw_[A-Za-z0-9_-]{43}$'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status', 'claimed_draft_count', 'review_path'], 'properties': {'status': {'type': 'string', 'const': 'pending'}, 'review_path': {'type': 'string', 'pattern': '^\\/knowledge-inbox.*'}, 'claimed_draft_count': {'type': 'integer', 'maximum': 10, 'minimum': 0}}, 'additionalProperties': False}
connect_memostem
Connect MemoStem and show topics
Connect or grant knowledge read permission through the host OAuth flow, then show a page of the authenticated owner's topic labels. Never creates knowledge.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'cursor': {'anyOf': [{'type': 'string', 'maxLength': 512, 'minLength': 1}, {'type': 'null'}]}, 'locale': {'type': 'string', 'maxLength': 64}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status', 'locale', 'topics', 'next_cursor'], 'properties': {'locale': {'enum': ['ko', 'en'], 'type': 'string'}, 'status': {'enum': ['connection_required', 'permission_required', 'topics', 'empty'], 'type': 'string'}, 'topics': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'name'], 'properties': {'id': {'type': 'string'}, 'name': {'type': 'string'}}, 'additionalProperties': False}, 'maxItems': 20}, 'next_cursor': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}}, 'additionalProperties': False}
create_card_drafts
Create knowledge-card drafts
Create pending, user-owned general-knowledge card drafts only after clear affirmative consent to specifically named, independently teachable knowledge in the current conversation. Every card must declare knowledge_scope as general_knowledge. Personal or company decisions, product principles or policies, pricing rationale, preferences, plans, tasks, reminders, meeting outcomes, project status, and autobiographical facts are ineligible. An assistant suggestion alone is not consent. This tool never accepts raw transcripts or historical-conversation data, and it cannot approve, publish, or modify public knowledge cards.
Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['provider', 'request_id', 'provenance', 'cards'], 'properties': {'cards': {'type': 'array', 'items': {'type': 'object', 'required': ['knowledge_scope', 'title'], 'properties': {'tags': {'type': 'array', 'items': {'type': 'string', 'maxLength': 48, 'minLength': 1}, 'maxItems': 12}, 'title': {'type': 'string', 'maxLength': 120, 'minLength': 1}, 'topic': {'type': 'string', 'maxLength': 48, 'minLength': 1}, 'summary': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'relations': {'type': 'array', 'items': {'type': 'object', 'required': ['target_kind', 'target_id', 'type'], 'properties': {'type': {'enum': ['related', 'prerequisite', 'generalizes', 'derived_from', 'equivalent_to', 'supersedes', 'answers', 'supports', 'contradicts', 'causes', 'contributes_to', 'enables', 'inhibits'], 'type': 'string'}, 'weight': {'type': 'number', 'maximum': 1, 'exclusiveMinimum': 0}, 'direction': {'enum': ['outgoing', 'incoming'], 'type': 'string'}, 'target_id': {'type': 'string', 'pattern': '^[A-Za-z0-9._:-]+$', 'maxLength': 160, 'minLength': 1}, 'target_kind': {'enum': ['private', 'draft'], 'type': 'string', 'description': "Minimal-core drafts may relate only to the owner's private knowledge or another draft; public graph targets are unavailable."}, 'evidence_selector_indexes': {'type': 'array', 'items': {'type': 'integer', 'maximum': 23, 'minimum': 0}, 'maxItems': 24}}, 'additionalProperties': False}, 'maxItems': 12}, 'explanation': {'type': 'string', 'maxLength': 6000, 'minLength': 1}, 'client_card_id': {'type': 'string', 'pattern': '^[A-Za-z0-9._:-]+$', 'maxLength': 160, 'minLength': 1}, 'knowledge_scope': {'type': 'string', 'const': 'general_knowledge', 'description': 'Required assertion that this card teaches reusable knowledge independent of a person, company, product, preference, plan, task, or decision.'}, 'evidence_selectors': {'type': 'array', 'items': {'oneOf': [{'type': 'object', 'required': ['selector_type', 'message_ref'], 'properties': {'quality': {'enum': ['unknown', 'low', 'medium', 'high'], 'type': 'string', 'default': 'unknown'}, 'polarity': {'enum': ['supports', 'contradicts'], 'type': 'string', 'default': 'supports'}, 'message_ref': {'type': 'string', 'pattern': '^[A-Za-z0-9._:-]+$', 'maxLength': 240, 'minLength': 1}, 'selector_type': {'type': 'string', 'const': 'message'}, 'relation_origin': {'enum': ['explicit_user', 'extracted_from_source', 'model_inferred'], 'type': 'string', 'default': 'model_inferred'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['selector_type', 'source_ref'], 'properties': {'quality': {'enum': ['unknown', 'low', 'medium', 'high'], 'type': 'string', 'default': 'unknown'}, 'polarity': {'enum': ['supports', 'contradicts'], 'type': 'string', 'default': 'supports'}, 'source_ref': {'type': 'string', 'maxLength': 2048, 'minLength': 1}, 'selector_type': {'type': 'string', 'const': 'external_ref'}, 'relation_origin': {'enum': ['explicit_user', 'extracted_from_source', 'model_inferred'], 'type': 'string', 'default': 'model_inferred'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['selector_type', 'start', 'end'], 'properties': {'end': {'type': 'integer', 'maximum': 10000000, 'minimum': 1}, 'start': {'type': 'integer', 'maximum': 9999999, 'minimum': 0}, 'quality': {'enum': ['unknown', 'low', 'medium', 'high'], 'type': 'string', 'default': 'unknown'}, 'polarity': {'enum': ['supports', 'contradicts'], 'type': 'string', 'default': 'supports'}, 'selector_type': {'type': 'string', 'const': 'text_position'}, 'relation_origin': {'enum': ['explicit_user', 'extracted_from_source', 'model_inferred'], 'type': 'string', 'default': 'model_inferred'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['selector_type', 'line_start', 'line_end'], 'properties': {'quality': {'enum': ['unknown', 'low', 'medium', 'high'], 'type': 'string', 'default': 'unknown'}, 'line_end': {'type': 'integer', 'maximum': 1000000, 'minimum': 1}, 'polarity': {'enum': ['supports', 'contradicts'], 'type': 'string', 'default': 'supports'}, 'line_start': {'type': 'integer', 'maximum': 1000000, 'minimum': 1}, 'selector_type': {'type': 'string', 'const': 'line_range'}, 'relation_origin': {'enum': ['explicit_user', 'extracted_from_source', 'model_inferred'], 'type': 'string', 'default': 'model_inferred'}}, 'additionalProperties': False}]}, 'maxItems': 24}}, 'additionalProperties': False}, 'maxItems': 50, 'minItems': 1}, 'provider': {'enum': ['chatgpt', 'claude', 'gemini', 'other'], 'type': 'string'}, 'provenance': {'type': 'object', 'required': ['type', 'conversation_ref'], 'properties': {'type': {'type': 'string', 'const': 'current_conversation'}, 'source_url': {'type': 'string', 'format': 'uri', 'maxLength': 2048}, 'discussed_at': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$'}, 'conversation_ref': {'type': 'string', 'pattern': '^[A-Za-z0-9._:-]+$', 'maxLength': 240, 'minLength': 1}}, 'additionalProperties': False}, 'request_id': {'type': 'string', 'pattern': '^[A-Za-z0-9._:-]+$', 'maxLength': 160, 'minLength': 1}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status', 'batch_id', 'created', 'draft_count', 'review_path', 'review_url'], 'properties': {'status': {'type': 'string', 'const': 'pending'}, 'created': {'type': 'boolean'}, 'batch_id': {'type': 'string', 'maxLength': 160, 'minLength': 1}, 'review_url': {'type': 'string', 'format': 'uri', 'maxLength': 2048}, 'draft_count': {'type': 'integer', 'maximum': 50, 'minimum': 0}, 'review_path': {'type': 'string', 'pattern': '^\\/.*', 'maxLength': 512}}, 'additionalProperties': False}
create_knowledge_bundle_drafts
Create structured knowledge-bundle drafts
Create pending, user-owned concept, general procedure, comparison, mechanism, structure, claim/evidence, knowledge question, historical event, or language-expression drafts only after clear affirmative consent to specifically named, independently teachable general knowledge in the current conversation. Every bundle must declare knowledge_scope as general_knowledge; decisions and organization-specific material are not accepted. An assistant suggestion alone is not consent. It cannot approve drafts, retain transcripts, or modify public knowledge.
Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['provider', 'request_id', 'provenance', 'bundles'], 'properties': {'bundles': {'type': 'array', 'items': {'type': 'object', 'required': ['knowledge_scope', 'title', 'central_question', 'knowledge_type', 'summary', 'structured_content', 'bundle_schema_version', 'topic', 'tags'], 'properties': {'tags': {'type': 'array', 'items': {'type': 'string', 'maxLength': 48, 'minLength': 1}, 'maxItems': 12}, 'title': {'type': 'string', 'maxLength': 120, 'minLength': 1}, 'topic': {'type': 'string', 'maxLength': 48, 'minLength': 1}, 'summary': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'tag_ids': {'type': 'array', 'items': {'type': 'string', 'pattern': '^[A-Za-z0-9._:-]+$', 'maxLength': 160, 'minLength': 1}, 'maxItems': 12}, 'topic_id': {'type': 'string', 'pattern': '^[A-Za-z0-9._:-]+$', 'maxLength': 160, 'minLength': 1}, 'relations': {'type': 'array', 'items': {'type': 'object', 'required': ['target_kind', 'target_id', 'type'], 'properties': {'type': {'enum': ['related', 'prerequisite', 'generalizes', 'derived_from', 'equivalent_to', 'supersedes', 'answers', 'supports', 'contradicts', 'causes', 'contributes_to', 'enables', 'inhibits'], 'type': 'string'}, 'weight': {'type': 'number', 'maximum': 1, 'exclusiveMinimum': 0}, 'direction': {'enum': ['outgoing', 'incoming'], 'type': 'string'}, 'target_id': {'type': 'string', 'pattern': '^[A-Za-z0-9._:-]+$', 'maxLength': 160, 'minLength': 1}, 'target_kind': {'enum': ['private', 'draft'], 'type': 'string', 'description': "Minimal-core drafts may relate only to the owner's private knowledge or another draft; public graph targets are unavailable."}, 'evidence_selector_indexes': {'type': 'array', 'items': {'type': 'integer', 'maximum': 23, 'minimum': 0}, 'maxItems': 24}}, 'additionalProperties': False}, 'maxItems': 12}, 'knowledge_type': {'enum': ['concept', 'procedure', 'comparison', 'mechanism', 'structure', 'claim_evidence', 'question', 'event', 'expression'], 'type': 'string'}, 'knowledge_scope': {'type': 'string', 'const': 'general_knowledge', 'description': 'Required assertion that this bundle teaches reusable knowledge independent of a person, company, product, preference, plan, task, or decision.'}, 'central_question': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'client_bundle_id': {'type': 'string', 'pattern': '^[A-Za-z0-9._:-]+$', 'maxLength': 160, 'minLength': 1}, 'evidence_selectors': {'type': 'array', 'items': {'oneOf': [{'type': 'object', 'required': ['selector_type', 'message_ref'], 'properties': {'quality': {'enum': ['unknown', 'low', 'medium', 'high'], 'type': 'string', 'default': 'unknown'}, 'polarity': {'enum': ['supports', 'contradicts'], 'type': 'string', 'default': 'supports'}, 'message_ref': {'type': 'string', 'pattern': '^[A-Za-z0-9._:-]+$', 'maxLength': 240, 'minLength': 1}, 'selector_type': {'type': 'string', 'const': 'message'}, 'relation_origin': {'enum': ['explicit_user', 'extracted_from_source', 'model_inferred'], 'type': 'string', 'default': 'model_inferred'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['selector_type', 'source_ref'], 'properties': {'quality': {'enum': ['unknown', 'low', 'medium', 'high'], 'type': 'string', 'default': 'unknown'}, 'polarity': {'enum': ['supports', 'contradicts'], 'type': 'string', 'default': 'supports'}, 'source_ref': {'type': 'string', 'maxLength': 2048, 'minLength': 1}, 'selector_type': {'type': 'string', 'const': 'external_ref'}, 'relation_origin': {'enum': ['explicit_user', 'extracted_from_source', 'model_inferred'], 'type': 'string', 'default': 'model_inferred'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['selector_type', 'start', 'end'], 'properties': {'end': {'type': 'integer', 'maximum': 10000000, 'minimum': 1}, 'start': {'type': 'integer', 'maximum': 9999999, 'minimum': 0}, 'quality': {'enum': ['unknown', 'low', 'medium', 'high'], 'type': 'string', 'default': 'unknown'}, 'polarity': {'enum': ['supports', 'contradicts'], 'type': 'string', 'default': 'supports'}, 'selector_type': {'type': 'string', 'const': 'text_position'}, 'relation_origin': {'enum': ['explicit_user', 'extracted_from_source', 'model_inferred'], 'type': 'string', 'default': 'model_inferred'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['selector_type', 'line_start', 'line_end'], 'properties': {'quality': {'enum': ['unknown', 'low', 'medium', 'high'], 'type': 'string', 'default': 'unknown'}, 'line_end': {'type': 'integer', 'maximum': 1000000, 'minimum': 1}, 'polarity': {'enum': ['supports', 'contradicts'], 'type': 'string', 'default': 'supports'}, 'line_start': {'type': 'integer', 'maximum': 1000000, 'minimum': 1}, 'selector_type': {'type': 'string', 'const': 'line_range'}, 'relation_origin': {'enum': ['explicit_user', 'extracted_from_source', 'model_inferred'], 'type': 'string', 'default': 'model_inferred'}}, 'additionalProperties': False}]}, 'maxItems': 24}, 'structured_content': {'oneOf': [{'type': 'object', 'required': ['type'], 'properties': {'type': {'type': 'string', 'const': 'concept'}, 'examples': {'type': 'array', 'items': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'default': [], 'maxItems': 24, 'description': 'Concrete instances of this concept; explain why each fits. Prefer one concise example supported by the selected material when useful; otherwise use an empty array.'}, 'definition': {'type': 'string', 'default': '', 'maxLength': 4000}, 'key_points': {'type': 'array', 'items': {'type': 'string', 'maxLength': 6000, 'minLength': 1}, 'default': [], 'maxItems': 24}, 'non_examples': {'type': 'array', 'items': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'default': [], 'maxItems': 24, 'description': 'Nearby cases that do not meet the definition; explain the distinguishing boundary. Include only when supported by the selected material and useful; otherwise use an empty array.'}, 'misconceptions': {'type': 'array', 'items': {'type': 'object', 'required': ['claim', 'correction'], 'properties': {'claim': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'correction': {'type': 'string', 'maxLength': 4000, 'minLength': 1}}, 'additionalProperties': False}, 'default': [], 'maxItems': 12, 'description': 'Misconceptions and corrections as {claim, correction} pairs: a mistaken interpretation and its accurate replacement with a brief reason. Include only when supported by the selected material; otherwise use an empty array. Never attribute a misconception to the user or fabricate evidence.'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['type'], 'properties': {'goal': {'type': 'string', 'default': '', 'maxLength': 4000}, 'type': {'type': 'string', 'const': 'procedure'}, 'steps': {'type': 'array', 'items': {'type': 'object', 'required': ['title'], 'properties': {'title': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'detail': {'type': 'string', 'default': '', 'maxLength': 4000}}, 'additionalProperties': False}, 'default': [], 'maxItems': 30}, 'branches': {'type': 'array', 'items': {'type': 'object', 'required': ['condition', 'action'], 'properties': {'action': {'type': 'string', 'maxLength': 4000, 'minLength': 1}, 'condition': {'type': 'string', 'maxLength': 500, 'minLength': 1}}, 'additionalProperties': False}, 'default': [], 'maxItems': 16}, 'done_when': {'type': 'array', 'items': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'default': [], 'maxItems': 24}, 'failure_modes': {'type': 'array', 'items': {'type': 'object', 'required': ['symptom', 'response'], 'properties': {'symptom': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'response': {'type': 'string', 'maxLength': 4000, 'minLength': 1}}, 'additionalProperties': False}, 'default': [], 'maxItems': 16}, 'prerequisites': {'type': 'array', 'items': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'default': [], 'maxItems': 24}}, 'additionalProperties': False}, {'type': 'object', 'required': ['type'], 'properties': {'type': {'type': 'string', 'const': 'comparison'}, 'targets': {'type': 'array', 'items': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'default': [], 'maxItems': 8}, 'criteria': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'values'], 'properties': {'name': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'values': {'type': 'array', 'items': {'type': 'string', 'maxLength': 4000, 'minLength': 1}, 'maxItems': 8}}, 'additionalProperties': False}, 'default': [], 'maxItems': 20}, 'differences': {'type': 'array', 'items': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'default': [], 'maxItems': 24}, 'choice_guide': {'type': 'array', 'items': {'type': 'object', 'required': ['condition', 'recommendation'], 'properties': {'condition': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'recommendation': {'type': 'string', 'maxLength': 4000, 'minLength': 1}}, 'additionalProperties': False}, 'default': [], 'maxItems': 16}, 'commonalities': {'type': 'array', 'items': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'default': [], 'maxItems': 24}}, 'additionalProperties': False}, {'type': 'object', 'required': ['type'], 'properties': {'type': {'type': 'string', 'const': 'mechanism'}, 'causes': {'type': 'array', 'items': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'default': [], 'maxItems': 24}, 'stages': {'type': 'array', 'items': {'type': 'object', 'required': ['title'], 'properties': {'title': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'detail': {'type': 'string', 'default': '', 'maxLength': 4000}}, 'additionalProperties': False}, 'default': [], 'maxItems': 30}, 'results': {'type': 'array', 'items': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'default': [], 'maxItems': 24}, 'conditions': {'type': 'array', 'items': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'default': [], 'maxItems': 24}, 'exceptions': {'type': 'array', 'items': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'default': [], 'maxItems': 24}}, 'additionalProperties': False}, {'type': 'object', 'required': ['type'], 'properties': {'type': {'type': 'string', 'const': 'structure'}, 'purpose': {'type': 'string', 'default': '', 'maxLength': 4000}, 'relations': {'type': 'array', 'items': {'type': 'object', 'required': ['source_id', 'target_id', 'label'], 'properties': {'label': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'source_id': {'type': 'string', 'maxLength': 80, 'minLength': 1}, 'target_id': {'type': 'string', 'maxLength': 80, 'minLength': 1}}, 'additionalProperties': False}, 'default': [], 'maxItems': 60}, 'boundaries': {'type': 'array', 'items': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'default': [], 'maxItems': 24}, 'components': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'label'], 'properties': {'id': {'type': 'string', 'pattern': '^[A-Za-z0-9._:-]+$', 'maxLength': 80, 'minLength': 1}, 'role': {'type': 'string', 'default': '', 'maxLength': 4000}, 'label': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'parent_id': {'type': 'string', 'pattern': '^[A-Za-z0-9._:-]+$', 'maxLength': 80, 'minLength': 1}}, 'additionalProperties': False}, 'default': [], 'maxItems': 40}}, 'additionalProperties': False}, {'type': 'object', 'required': ['type'], 'properties': {'type': {'type': 'string', 'const': 'claim_evidence'}, 'claim': {'type': 'string', 'default': '', 'maxLength': 4000}, 'scope': {'type': 'array', 'items': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'default': [], 'maxItems': 24}, 'evidence': {'type': 'array', 'items': {'type': 'object', 'required': ['statement'], 'properties': {'source': {'type': 'string', 'maxLength': 1000, 'minLength': 1}, 'statement': {'type': 'string', 'maxLength': 4000, 'minLength': 1}}, 'additionalProperties': False}, 'default': [], 'maxItems': 24}, 'confidence': {'enum': ['low', 'medium', 'high'], 'type': 'string'}, 'limitations': {'type': 'array', 'items': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'default': [], 'maxItems': 24}, 'counterevidence': {'type': 'array', 'items': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'default': [], 'maxItems': 24}}, 'additionalProperties': False}, {'type': 'object', 'required': ['type'], 'properties': {'type': {'type': 'string', 'const': 'question'}, 'status': {'enum': ['open', 'answered'], 'type': 'string', 'default': 'open'}, 'context': {'type': 'string', 'default': '', 'maxLength': 4000}, 'question': {'type': 'string', 'default': '', 'maxLength': 4000}, 'hypotheses': {'type': 'array', 'items': {'type': 'string', 'maxLength': 6000, 'minLength': 1}, 'default': [], 'maxItems': 24}, 'next_steps': {'type': 'array', 'items': {'type': 'string', 'maxLength': 6000, 'minLength': 1}, 'default': [], 'maxItems': 24}, 'known_facts': {'type': 'array', 'items': {'type': 'string', 'maxLength': 6000, 'minLength': 1}, 'default': [], 'maxItems': 24}, 'answer_summary': {'type': 'string', 'default': '', 'maxLength': 4000}}, 'additionalProperties': False}, {'type': 'object', 'required': ['type'], 'properties': {'type': {'type': 'string', 'const': 'decision'}, 'context': {'type': 'string', 'default': '', 'maxLength': 4000}, 'options': {'type': 'array', 'items': {'type': 'object', 'required': ['name'], 'properties': {'name': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'tradeoffs': {'type': 'string', 'default': '', 'maxLength': 4000}}, 'additionalProperties': False}, 'default': [], 'maxItems': 24}, 'outcome': {'type': 'string', 'default': '', 'maxLength': 4000}, 'criteria': {'type': 'array', 'items': {'type': 'string', 'maxLength': 6000, 'minLength': 1}, 'default': [], 'maxItems': 24}, 'decision': {'type': 'string', 'default': '', 'maxLength': 4000}, 'rationale': {'type': 'array', 'items': {'type': 'string', 'maxLength': 6000, 'minLength': 1}, 'default': [], 'maxItems': 24}, 'reconsider_when': {'type': 'array', 'items': {'type': 'string', 'maxLength': 6000, 'minLength': 1}, 'default': [], 'maxItems': 24}}, 'additionalProperties': False}, {'type': 'object', 'required': ['type'], 'properties': {'type': {'type': 'string', 'const': 'event'}, 'event': {'type': 'string', 'default': '', 'maxLength': 4000}, 'causes': {'type': 'array', 'items': {'type': 'string', 'maxLength': 6000, 'minLength': 1}, 'default': [], 'maxItems': 24}, 'changes': {'type': 'array', 'items': {'type': 'string', 'maxLength': 6000, 'minLength': 1}, 'default': [], 'maxItems': 24}, 'context': {'type': 'string', 'default': '', 'maxLength': 4000}, 'chronology': {'type': 'object', 'required': ['start', 'precision'], 'properties': {'end': {'type': 'object', 'required': ['year', 'era'], 'properties': {'day': {'type': 'integer', 'maximum': 31, 'minimum': 1}, 'era': {'enum': ['bce', 'ce'], 'type': 'string'}, 'year': {'type': 'integer', 'maximum': 999999, 'minimum': 1}, 'month': {'type': 'integer', 'maximum': 12, 'minimum': 1}}, 'additionalProperties': False}, 'start': {'type': 'object', 'required': ['year', 'era'], 'properties': {'day': {'type': 'integer', 'maximum': 31, 'minimum': 1}, 'era': {'enum': ['bce', 'ce'], 'type': 'string'}, 'year': {'type': 'integer', 'maximum': 999999, 'minimum': 1}, 'month': {'type': 'integer', 'maximum': 12, 'minimum': 1}}, 'additionalProperties': False}, 'precision': {'enum': ['exact', 'day', 'month', 'year', 'decade', 'century', 'approximate', 'range'], 'type': 'string'}}, 'additionalProperties': False}, 'occurred_at': {'type': 'string', 'default': '', 'maxLength': 500}, 'consequences': {'type': 'array', 'items': {'type': 'string', 'maxLength': 6000, 'minLength': 1}, 'default': [], 'maxItems': 24}}, 'additionalProperties': False}, {'type': 'object', 'required': ['type', 'language'], 'properties': {'type': {'type': 'string', 'const': 'expression'}, 'nuance': {'type': 'string', 'default': '', 'maxLength': 4000}, 'examples': {'type': 'array', 'items': {'type': 'object', 'required': ['text'], 'properties': {'note': {'type': 'string', 'maxLength': 4000, 'minLength': 1}, 'text': {'type': 'string', 'maxLength': 4000, 'minLength': 1}, 'translation': {'type': 'string', 'maxLength': 4000, 'minLength': 1}}, 'additionalProperties': False}, 'default': [], 'maxItems': 24}, 'language': {'type': 'string', 'maxLength': 255, 'minLength': 2}, 'meanings': {'type': 'array', 'items': {'type': 'string', 'maxLength': 6000, 'minLength': 1}, 'default': [], 'maxItems': 24}, 'register': {'type': 'string', 'default': '', 'maxLength': 500}, 'contrasts': {'type': 'array', 'items': {'type': 'object', 'required': ['expression', 'difference'], 'properties': {'difference': {'type': 'string', 'maxLength': 4000, 'minLength': 1}, 'expression': {'type': 'string', 'maxLength': 500, 'minLength': 1}}, 'additionalProperties': False}, 'default': [], 'maxItems': 24}, 'expression': {'type': 'string', 'default': '', 'maxLength': 4000}, 'translations': {'type': 'array', 'items': {'type': 'object', 'required': ['language', 'text'], 'properties': {'text': {'type': 'string', 'maxLength': 4000, 'minLength': 1}, 'language': {'type': 'string', 'maxLength': 255, 'minLength': 2}}, 'additionalProperties': False}, 'default': [], 'maxItems': 24}, 'pronunciation': {'type': 'string', 'default': '', 'maxLength': 500}, 'usage_contexts': {'type': 'array', 'items': {'type': 'string', 'maxLength': 6000, 'minLength': 1}, 'default': [], 'maxItems': 24}, 'common_mistakes': {'type': 'array', 'items': {'type': 'object', 'required': ['incorrect', 'correction'], 'properties': {'incorrect': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'correction': {'type': 'string', 'maxLength': 4000, 'minLength': 1}}, 'additionalProperties': False}, 'default': [], 'maxItems': 24}}, 'additionalProperties': False}]}, 'resolution_proposal': {'type': 'object', 'required': ['action', 'source_item_ids', 'change_summary', 'reason'], 'properties': {'action': {'enum': ['save_new', 'merge', 'update'], 'type': 'string'}, 'reason': {'type': 'string', 'maxLength': 1000, 'minLength': 1}, 'change_summary': {'type': 'object', 'properties': {'added': {'type': 'array', 'items': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'default': [], 'maxItems': 50}, 'changed': {'type': 'array', 'items': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'default': [], 'maxItems': 50}, 'conflicts': {'type': 'array', 'items': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'default': [], 'maxItems': 50}, 'preserved': {'type': 'array', 'items': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'default': [], 'maxItems': 50}}, 'additionalProperties': False}, 'target_item_id': {'type': 'string', 'pattern': '^[A-Za-z0-9._:-]+$', 'maxLength': 160, 'minLength': 1}, 'source_item_ids': {'type': 'array', 'items': {'type': 'string', 'pattern': '^[A-Za-z0-9._:-]+$', 'maxLength': 160, 'minLength': 1}, 'maxItems': 50, 'minItems': 1}, 'expected_target_version': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1}}, 'additionalProperties': False}, 'bundle_schema_version': {'type': 'number', 'const': 1}}, 'additionalProperties': False}, 'maxItems': 50, 'minItems': 1}, 'provider': {'enum': ['chatgpt', 'claude', 'gemini', 'other'], 'type': 'string'}, 'provenance': {'type': 'object', 'required': ['type', 'conversation_ref'], 'properties': {'type': {'type': 'string', 'const': 'current_conversation'}, 'source_url': {'type': 'string', 'format': 'uri', 'maxLength': 2048}, 'discussed_at': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$'}, 'client_version': {'type': 'string', 'maxLength': 160, 'minLength': 1}, 'reported_agent': {'type': 'string', 'maxLength': 160, 'minLength': 1}, 'reported_model': {'type': 'string', 'maxLength': 160, 'minLength': 1}, 'conversation_ref': {'type': 'string', 'pattern': '^[A-Za-z0-9._:-]+$', 'maxLength': 240, 'minLength': 1}}, 'additionalProperties': False}, 'request_id': {'type': 'string', 'pattern': '^[A-Za-z0-9._:-]+$', 'maxLength': 160, 'minLength': 1}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status', 'batch_id', 'created', 'bundle_count', 'review_path', 'review_url'], 'properties': {'status': {'type': 'string', 'const': 'pending'}, 'created': {'type': 'boolean'}, 'batch_id': {'type': 'string', 'maxLength': 160, 'minLength': 1}, 'review_url': {'type': 'string', 'format': 'uri', 'maxLength': 2048}, 'review_path': {'type': 'string', 'pattern': '^\\/.*', 'maxLength': 512}, 'bundle_count': {'type': 'integer', 'maximum': 50, 'minimum': 0}}, 'additionalProperties': False}
preview_knowledge_bundle
Preview one knowledge bundle
Return a transient preview of exactly one user-selected, independently teachable general-knowledge bundle without an account and without saving it. Call only at the person's direct request or after clear acceptance of a specific preview proposal. Use save_guest_knowledge_bundles only after the person explicitly asks to keep it; connected clients use create_knowledge_bundle_drafts.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['provider', 'request_id', 'provenance', 'bundles'], 'properties': {'bundles': {'type': 'array', 'items': {'type': 'object', 'required': ['knowledge_scope', 'title', 'central_question', 'knowledge_type', 'summary', 'structured_content', 'bundle_schema_version', 'topic', 'tags'], 'properties': {'tags': {'type': 'array', 'items': {'type': 'string', 'maxLength': 48, 'minLength': 1}, 'maxItems': 12}, 'title': {'type': 'string', 'maxLength': 120, 'minLength': 1}, 'topic': {'type': 'string', 'maxLength': 48, 'minLength': 1}, 'summary': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'tag_ids': {'type': 'array', 'items': {'type': 'string', 'pattern': '^[A-Za-z0-9._:-]+$', 'maxLength': 160, 'minLength': 1}, 'maxItems': 12}, 'topic_id': {'type': 'string', 'pattern': '^[A-Za-z0-9._:-]+$', 'maxLength': 160, 'minLength': 1}, 'relations': {'type': 'array', 'items': {'type': 'object', 'required': ['target_kind', 'target_id', 'type'], 'properties': {'type': {'enum': ['related', 'prerequisite', 'generalizes', 'derived_from', 'equivalent_to', 'supersedes', 'answers', 'supports', 'contradicts', 'causes', 'contributes_to', 'enables', 'inhibits'], 'type': 'string'}, 'weight': {'type': 'number', 'maximum': 1, 'exclusiveMinimum': 0}, 'direction': {'enum': ['outgoing', 'incoming'], 'type': 'string'}, 'target_id': {'type': 'string', 'pattern': '^[A-Za-z0-9._:-]+$', 'maxLength': 160, 'minLength': 1}, 'target_kind': {'enum': ['private', 'draft'], 'type': 'string', 'description': "Minimal-core drafts may relate only to the owner's private knowledge or another draft; public graph targets are unavailable."}, 'evidence_selector_indexes': {'type': 'array', 'items': {'type': 'integer', 'maximum': 23, 'minimum': 0}, 'maxItems': 24}}, 'additionalProperties': False}, 'maxItems': 12}, 'knowledge_type': {'enum': ['concept', 'procedure', 'comparison', 'mechanism', 'structure', 'claim_evidence', 'question', 'event', 'expression'], 'type': 'string'}, 'knowledge_scope': {'type': 'string', 'const': 'general_knowledge', 'description': 'Required assertion that this bundle teaches reusable knowledge independent of a person, company, product, preference, plan, task, or decision.'}, 'central_question': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'client_bundle_id': {'type': 'string', 'pattern': '^[A-Za-z0-9._:-]+$', 'maxLength': 160, 'minLength': 1}, 'evidence_selectors': {'type': 'array', 'items': {'oneOf': [{'type': 'object', 'required': ['selector_type', 'message_ref'], 'properties': {'quality': {'enum': ['unknown', 'low', 'medium', 'high'], 'type': 'string', 'default': 'unknown'}, 'polarity': {'enum': ['supports', 'contradicts'], 'type': 'string', 'default': 'supports'}, 'message_ref': {'type': 'string', 'pattern': '^[A-Za-z0-9._:-]+$', 'maxLength': 240, 'minLength': 1}, 'selector_type': {'type': 'string', 'const': 'message'}, 'relation_origin': {'enum': ['explicit_user', 'extracted_from_source', 'model_inferred'], 'type': 'string', 'default': 'model_inferred'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['selector_type', 'source_ref'], 'properties': {'quality': {'enum': ['unknown', 'low', 'medium', 'high'], 'type': 'string', 'default': 'unknown'}, 'polarity': {'enum': ['supports', 'contradicts'], 'type': 'string', 'default': 'supports'}, 'source_ref': {'type': 'string', 'maxLength': 2048, 'minLength': 1}, 'selector_type': {'type': 'string', 'const': 'external_ref'}, 'relation_origin': {'enum': ['explicit_user', 'extracted_from_source', 'model_inferred'], 'type': 'string', 'default': 'model_inferred'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['selector_type', 'start', 'end'], 'properties': {'end': {'type': 'integer', 'maximum': 10000000, 'minimum': 1}, 'start': {'type': 'integer', 'maximum': 9999999, 'minimum': 0}, 'quality': {'enum': ['unknown', 'low', 'medium', 'high'], 'type': 'string', 'default': 'unknown'}, 'polarity': {'enum': ['supports', 'contradicts'], 'type': 'string', 'default': 'supports'}, 'selector_type': {'type': 'string', 'const': 'text_position'}, 'relation_origin': {'enum': ['explicit_user', 'extracted_from_source', 'model_inferred'], 'type': 'string', 'default': 'model_inferred'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['selector_type', 'line_start', 'line_end'], 'properties': {'quality': {'enum': ['unknown', 'low', 'medium', 'high'], 'type': 'string', 'default': 'unknown'}, 'line_end': {'type': 'integer', 'maximum': 1000000, 'minimum': 1}, 'polarity': {'enum': ['supports', 'contradicts'], 'type': 'string', 'default': 'supports'}, 'line_start': {'type': 'integer', 'maximum': 1000000, 'minimum': 1}, 'selector_type': {'type': 'string', 'const': 'line_range'}, 'relation_origin': {'enum': ['explicit_user', 'extracted_from_source', 'model_inferred'], 'type': 'string', 'default': 'model_inferred'}}, 'additionalProperties': False}]}, 'maxItems': 24}, 'structured_content': {'oneOf': [{'type': 'object', 'required': ['type'], 'properties': {'type': {'type': 'string', 'const': 'concept'}, 'examples': {'type': 'array', 'items': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'default': [], 'maxItems': 24, 'description': 'Concrete instances of this concept; explain why each fits. Prefer one concise example supported by the selected material when useful; otherwise use an empty array.'}, 'definition': {'type': 'string', 'default': '', 'maxLength': 4000}, 'key_points': {'type': 'array', 'items': {'type': 'string', 'maxLength': 6000, 'minLength': 1}, 'default': [], 'maxItems': 24}, 'non_examples': {'type': 'array', 'items': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'default': [], 'maxItems': 24, 'description': 'Nearby cases that do not meet the definition; explain the distinguishing boundary. Include only when supported by the selected material and useful; otherwise use an empty array.'}, 'misconceptions': {'type': 'array', 'items': {'type': 'object', 'required': ['claim', 'correction'], 'properties': {'claim': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'correction': {'type': 'string', 'maxLength': 4000, 'minLength': 1}}, 'additionalProperties': False}, 'default': [], 'maxItems': 12, 'description': 'Misconceptions and corrections as {claim, correction} pairs: a mistaken interpretation and its accurate replacement with a brief reason. Include only when supported by the selected material; otherwise use an empty array. Never attribute a misconception to the user or fabricate evidence.'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['type'], 'properties': {'goal': {'type': 'string', 'default': '', 'maxLength': 4000}, 'type': {'type': 'string', 'const': 'procedure'}, 'steps': {'type': 'array', 'items': {'type': 'object', 'required': ['title'], 'properties': {'title': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'detail': {'type': 'string', 'default': '', 'maxLength': 4000}}, 'additionalProperties': False}, 'default': [], 'maxItems': 30}, 'branches': {'type': 'array', 'items': {'type': 'object', 'required': ['condition', 'action'], 'properties': {'action': {'type': 'string', 'maxLength': 4000, 'minLength': 1}, 'condition': {'type': 'string', 'maxLength': 500, 'minLength': 1}}, 'additionalProperties': False}, 'default': [], 'maxItems': 16}, 'done_when': {'type': 'array', 'items': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'default': [], 'maxItems': 24}, 'failure_modes': {'type': 'array', 'items': {'type': 'object', 'required': ['symptom', 'response'], 'properties': {'symptom': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'response': {'type': 'string', 'maxLength': 4000, 'minLength': 1}}, 'additionalProperties': False}, 'default': [], 'maxItems': 16}, 'prerequisites': {'type': 'array', 'items': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'default': [], 'maxItems': 24}}, 'additionalProperties': False}, {'type': 'object', 'required': ['type'], 'properties': {'type': {'type': 'string', 'const': 'comparison'}, 'targets': {'type': 'array', 'items': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'default': [], 'maxItems': 8}, 'criteria': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'values'], 'properties': {'name': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'values': {'type': 'array', 'items': {'type': 'string', 'maxLength': 4000, 'minLength': 1}, 'maxItems': 8}}, 'additionalProperties': False}, 'default': [], 'maxItems': 20}, 'differences': {'type': 'array', 'items': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'default': [], 'maxItems': 24}, 'choice_guide': {'type': 'array', 'items': {'type': 'object', 'required': ['condition', 'recommendation'], 'properties': {'condition': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'recommendation': {'type': 'string', 'maxLength': 4000, 'minLength': 1}}, 'additionalProperties': False}, 'default': [], 'maxItems': 16}, 'commonalities': {'type': 'array', 'items': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'default': [], 'maxItems': 24}}, 'additionalProperties': False}, {'type': 'object', 'required': ['type'], 'properties': {'type': {'type': 'string', 'const': 'mechanism'}, 'causes': {'type': 'array', 'items': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'default': [], 'maxItems': 24}, 'stages': {'type': 'array', 'items': {'type': 'object', 'required': ['title'], 'properties': {'title': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'detail': {'type': 'string', 'default': '', 'maxLength': 4000}}, 'additionalProperties': False}, 'default': [], 'maxItems': 30}, 'results': {'type': 'array', 'items': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'default': [], 'maxItems': 24}, 'conditions': {'type': 'array', 'items': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'default': [], 'maxItems': 24}, 'exceptions': {'type': 'array', 'items': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'default': [], 'maxItems': 24}}, 'additionalProperties': False}, {'type': 'object', 'required': ['type'], 'properties': {'type': {'type': 'string', 'const': 'structure'}, 'purpose': {'type': 'string', 'default': '', 'maxLength': 4000}, 'relations': {'type': 'array', 'items': {'type': 'object', 'required': ['source_id', 'target_id', 'label'], 'properties': {'label': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'source_id': {'type': 'string', 'maxLength': 80, 'minLength': 1}, 'target_id': {'type': 'string', 'maxLength': 80, 'minLength': 1}}, 'additionalProperties': False}, 'default': [], 'maxItems': 60}, 'boundaries': {'type': 'array', 'items': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'default': [], 'maxItems': 24}, 'components': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'label'], 'properties': {'id': {'type': 'string', 'pattern': '^[A-Za-z0-9._:-]+$', 'maxLength': 80, 'minLength': 1}, 'role': {'type': 'string', 'default': '', 'maxLength': 4000}, 'label': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'parent_id': {'type': 'string', 'pattern': '^[A-Za-z0-9._:-]+$', 'maxLength': 80, 'minLength': 1}}, 'additionalProperties': False}, 'default': [], 'maxItems': 40}}, 'additionalProperties': False}, {'type': 'object', 'required': ['type'], 'properties': {'type': {'type': 'string', 'const': 'claim_evidence'}, 'claim': {'type': 'string', 'default': '', 'maxLength': 4000}, 'scope': {'type': 'array', 'items': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'default': [], 'maxItems': 24}, 'evidence': {'type': 'array', 'items': {'type': 'object', 'required': ['statement'], 'properties': {'source': {'type': 'string', 'maxLength': 1000, 'minLength': 1}, 'statement': {'type': 'string', 'maxLength': 4000, 'minLength': 1}}, 'additionalProperties': False}, 'default': [], 'maxItems': 24}, 'confidence': {'enum': ['low', 'medium', 'high'], 'type': 'string'}, 'limitations': {'type': 'array', 'items': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'default': [], 'maxItems': 24}, 'counterevidence': {'type': 'array', 'items': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'default': [], 'maxItems': 24}}, 'additionalProperties': False}, {'type': 'object', 'required': ['type'], 'properties': {'type': {'type': 'string', 'const': 'question'}, 'status': {'enum': ['open', 'answered'], 'type': 'string', 'default': 'open'}, 'context': {'type': 'string', 'default': '', 'maxLength': 4000}, 'question': {'type': 'string', 'default': '', 'maxLength': 4000}, 'hypotheses': {'type': 'array', 'items': {'type': 'string', 'maxLength': 6000, 'minLength': 1}, 'default': [], 'maxItems': 24}, 'next_steps': {'type': 'array', 'items': {'type': 'string', 'maxLength': 6000, 'minLength': 1}, 'default': [], 'maxItems': 24}, 'known_facts': {'type': 'array', 'items': {'type': 'string', 'maxLength': 6000, 'minLength': 1}, 'default': [], 'maxItems': 24}, 'answer_summary': {'type': 'string', 'default': '', 'maxLength': 4000}}, 'additionalProperties': False}, {'type': 'object', 'required': ['type'], 'properties': {'type': {'type': 'string', 'const': 'decision'}, 'context': {'type': 'string', 'default': '', 'maxLength': 4000}, 'options': {'type': 'array', 'items': {'type': 'object', 'required': ['name'], 'properties': {'name': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'tradeoffs': {'type': 'string', 'default': '', 'maxLength': 4000}}, 'additionalProperties': False}, 'default': [], 'maxItems': 24}, 'outcome': {'type': 'string', 'default': '', 'maxLength': 4000}, 'criteria': {'type': 'array', 'items': {'type': 'string', 'maxLength': 6000, 'minLength': 1}, 'default': [], 'maxItems': 24}, 'decision': {'type': 'string', 'default': '', 'maxLength': 4000}, 'rationale': {'type': 'array', 'items': {'type': 'string', 'maxLength': 6000, 'minLength': 1}, 'default': [], 'maxItems': 24}, 'reconsider_when': {'type': 'array', 'items': {'type': 'string', 'maxLength': 6000, 'minLength': 1}, 'default': [], 'maxItems': 24}}, 'additionalProperties': False}, {'type': 'object', 'required': ['type'], 'properties': {'type': {'type': 'string', 'const': 'event'}, 'event': {'type': 'string', 'default': '', 'maxLength': 4000}, 'causes': {'type': 'array', 'items': {'type': 'string', 'maxLength': 6000, 'minLength': 1}, 'default': [], 'maxItems': 24}, 'changes': {'type': 'array', 'items': {'type': 'string', 'maxLength': 6000, 'minLength': 1}, 'default': [], 'maxItems': 24}, 'context': {'type': 'string', 'default': '', 'maxLength': 4000}, 'chronology': {'type': 'object', 'required': ['start', 'precision'], 'properties': {'end': {'type': 'object', 'required': ['year', 'era'], 'properties': {'day': {'type': 'integer', 'maximum': 31, 'minimum': 1}, 'era': {'enum': ['bce', 'ce'], 'type': 'string'}, 'year': {'type': 'integer', 'maximum': 999999, 'minimum': 1}, 'month': {'type': 'integer', 'maximum': 12, 'minimum': 1}}, 'additionalProperties': False}, 'start': {'type': 'object', 'required': ['year', 'era'], 'properties': {'day': {'type': 'integer', 'maximum': 31, 'minimum': 1}, 'era': {'enum': ['bce', 'ce'], 'type': 'string'}, 'year': {'type': 'integer', 'maximum': 999999, 'minimum': 1}, 'month': {'type': 'integer', 'maximum': 12, 'minimum': 1}}, 'additionalProperties': False}, 'precision': {'enum': ['exact', 'day', 'month', 'year', 'decade', 'century', 'approximate', 'range'], 'type': 'string'}}, 'additionalProperties': False}, 'occurred_at': {'type': 'string', 'default': '', 'maxLength': 500}, 'consequences': {'type': 'array', 'items': {'type': 'string', 'maxLength': 6000, 'minLength': 1}, 'default': [], 'maxItems': 24}}, 'additionalProperties': False}, {'type': 'object', 'required': ['type', 'language'], 'properties': {'type': {'type': 'string', 'const': 'expression'}, 'nuance': {'type': 'string', 'default': '', 'maxLength': 4000}, 'examples': {'type': 'array', 'items': {'type': 'object', 'required': ['text'], 'properties': {'note': {'type': 'string', 'maxLength': 4000, 'minLength': 1}, 'text': {'type': 'string', 'maxLength': 4000, 'minLength': 1}, 'translation': {'type': 'string', 'maxLength': 4000, 'minLength': 1}}, 'additionalProperties': False}, 'default': [], 'maxItems': 24}, 'language': {'type': 'string', 'maxLength': 255, 'minLength': 2}, 'meanings': {'type': 'array', 'items': {'type': 'string', 'maxLength': 6000, 'minLength': 1}, 'default': [], 'maxItems': 24}, 'register': {'type': 'string', 'default': '', 'maxLength': 500}, 'contrasts': {'type': 'array', 'items': {'type': 'object', 'required': ['expression', 'difference'], 'properties': {'difference': {'type': 'string', 'maxLength': 4000, 'minLength': 1}, 'expression': {'type': 'string', 'maxLength': 500, 'minLength': 1}}, 'additionalProperties': False}, 'default': [], 'maxItems': 24}, 'expression': {'type': 'string', 'default': '', 'maxLength': 4000}, 'translations': {'type': 'array', 'items': {'type': 'object', 'required': ['language', 'text'], 'properties': {'text': {'type': 'string', 'maxLength': 4000, 'minLength': 1}, 'language': {'type': 'string', 'maxLength': 255, 'minLength': 2}}, 'additionalProperties': False}, 'default': [], 'maxItems': 24}, 'pronunciation': {'type': 'string', 'default': '', 'maxLength': 500}, 'usage_contexts': {'type': 'array', 'items': {'type': 'string', 'maxLength': 6000, 'minLength': 1}, 'default': [], 'maxItems': 24}, 'common_mistakes': {'type': 'array', 'items': {'type': 'object', 'required': ['incorrect', 'correction'], 'properties': {'incorrect': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'correction': {'type': 'string', 'maxLength': 4000, 'minLength': 1}}, 'additionalProperties': False}, 'default': [], 'maxItems': 24}}, 'additionalProperties': False}]}, 'resolution_proposal': {'type': 'object', 'required': ['action', 'source_item_ids', 'change_summary', 'reason'], 'properties': {'action': {'enum': ['save_new', 'merge', 'update'], 'type': 'string'}, 'reason': {'type': 'string', 'maxLength': 1000, 'minLength': 1}, 'change_summary': {'type': 'object', 'properties': {'added': {'type': 'array', 'items': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'default': [], 'maxItems': 50}, 'changed': {'type': 'array', 'items': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'default': [], 'maxItems': 50}, 'conflicts': {'type': 'array', 'items': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'default': [], 'maxItems': 50}, 'preserved': {'type': 'array', 'items': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'default': [], 'maxItems': 50}}, 'additionalProperties': False}, 'target_item_id': {'type': 'string', 'pattern': '^[A-Za-z0-9._:-]+$', 'maxLength': 160, 'minLength': 1}, 'source_item_ids': {'type': 'array', 'items': {'type': 'string', 'pattern': '^[A-Za-z0-9._:-]+$', 'maxLength': 160, 'minLength': 1}, 'maxItems': 50, 'minItems': 1}, 'expected_target_version': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1}}, 'additionalProperties': False}, 'bundle_schema_version': {'type': 'number', 'const': 1}}, 'additionalProperties': False}, 'maxItems': 50, 'minItems': 1}, 'provider': {'enum': ['chatgpt', 'claude', 'gemini', 'other'], 'type': 'string'}, 'provenance': {'type': 'object', 'required': ['type', 'conversation_ref'], 'properties': {'type': {'type': 'string', 'const': 'current_conversation'}, 'source_url': {'type': 'string', 'format': 'uri', 'maxLength': 2048}, 'discussed_at': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$'}, 'client_version': {'type': 'string', 'maxLength': 160, 'minLength': 1}, 'reported_agent': {'type': 'string', 'maxLength': 160, 'minLength': 1}, 'reported_model': {'type': 'string', 'maxLength': 160, 'minLength': 1}, 'conversation_ref': {'type': 'string', 'pattern': '^[A-Za-z0-9._:-]+$', 'maxLength': 240, 'minLength': 1}}, 'additionalProperties': False}, 'request_id': {'type': 'string', 'pattern': '^[A-Za-z0-9._:-]+$', 'maxLength': 160, 'minLength': 1}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status', 'persisted', 'bundle_count', 'knowledge_type', 'title'], 'properties': {'title': {'type': 'string', 'maxLength': 120, 'minLength': 1}, 'status': {'enum': ['valid', 'preview'], 'type': 'string'}, 'persisted': {'type': 'boolean', 'const': False}, 'bundle_count': {'type': 'number', 'const': 1}, 'knowledge_type': {'enum': ['concept', 'procedure', 'comparison', 'mechanism', 'structure', 'claim_evidence', 'question', 'event', 'expression'], 'type': 'string'}}, 'additionalProperties': False}
refresh_guest_knowledge_shelf_link
Get a fresh guest shelf link
Issue a new short-lived, one-time mobile or desktop web link for the existing guest shelf. Use only when the person asks to open or recover that shelf. Pass the private workspace_token as a tool argument; never show or put it in a URL. This adds no card and makes the previous view link invalid.
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['workspace_token'], 'properties': {'workspace_token': {'type': 'string', 'pattern': '^mgw_[A-Za-z0-9_-]{43}$'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status', 'card_count', 'card_limit', 'review_url', 'expires_at'], 'properties': {'status': {'enum': ['guest_pending', 'account_required'], 'type': 'string'}, 'card_count': {'type': 'integer', 'maximum': 10, 'minimum': 1}, 'card_limit': {'type': 'number', 'const': 10}, 'expires_at': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$'}, 'review_url': {'type': 'string', 'format': 'uri'}}, 'additionalProperties': False}
save_guest_knowledge_bundles
Save knowledge to a temporary guest shelf
Store one to 10 specifically selected, independently teachable general-knowledge bundles from the current conversation in a private temporary MemoStem guest shelf. Call only after a direct request or clear acceptance of a specific proposal. Reuse workspace_token to continue the same shelf, but never reveal that credential to the person. The shelf is read-only in MemoStem, expires after 90 days, and requires account connection at 10 cards.
Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['provider', 'request_id', 'provenance', 'bundles'], 'properties': {'bundles': {'type': 'array', 'items': {}, 'maxItems': 10, 'minItems': 1}, 'provider': {'enum': ['chatgpt', 'claude', 'gemini', 'other'], 'type': 'string'}, 'provenance': {'type': 'object', 'required': ['type', 'conversation_ref'], 'properties': {'type': {'type': 'string', 'const': 'current_conversation'}, 'source_url': {'type': 'string', 'format': 'uri', 'maxLength': 2048}, 'discussed_at': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$'}, 'conversation_ref': {'type': 'string', 'pattern': '^[A-Za-z0-9._:-]+$', 'maxLength': 240, 'minLength': 1}}, 'additionalProperties': False}, 'request_id': {'type': 'string', 'pattern': '^[A-Za-z0-9._:-]+$', 'maxLength': 160, 'minLength': 1}, 'workspace_token': {'type': 'string', 'pattern': '^mgw_[A-Za-z0-9_-]{43}$'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status', 'persisted', 'workspace_token', 'accepted_bundle_count', 'card_count', 'remaining_capacity', 'card_limit', 'account_required', 'review_url', 'expires_at'], 'properties': {'status': {'enum': ['guest_pending', 'account_required'], 'type': 'string'}, 'persisted': {'type': 'boolean', 'const': True}, 'card_count': {'type': 'integer', 'maximum': 10, 'minimum': 0}, 'card_limit': {'type': 'number', 'const': 10}, 'expires_at': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$'}, 'review_url': {'type': 'string', 'format': 'uri'}, 'workspace_token': {'type': 'string', 'pattern': '^mgw_[A-Za-z0-9_-]{43}$'}, 'account_required': {'type': 'boolean'}, 'remaining_capacity': {'type': 'integer', 'maximum': 10, 'minimum': 0}, 'accepted_bundle_count': {'type': 'integer', 'maximum': 10, 'minimum': 0}}, 'additionalProperties': False}
start_memostem
Start MemoStem
Start MemoStem when no topic is named. Show a localized welcome App before login, or the connected owner's topic labels and empty-state guidance. Pass the conversation language as locale when known. No drafts are created.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'cursor': {'anyOf': [{'type': 'string', 'maxLength': 512, 'minLength': 1}, {'type': 'null'}]}, 'locale': {'type': 'string', 'maxLength': 64}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status', 'locale', 'topics', 'next_cursor'], 'properties': {'locale': {'enum': ['ko', 'en'], 'type': 'string'}, 'status': {'enum': ['connection_required', 'permission_required', 'topics', 'empty'], 'type': 'string'}, 'topics': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'name'], 'properties': {'id': {'type': 'string'}, 'name': {'type': 'string'}}, 'additionalProperties': False}, 'maxItems': 20}, 'next_cursor': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}}, 'additionalProperties': False}
validate_knowledge_bundle
Validate one knowledge bundle
Validate exactly one user-selected, independently teachable general-knowledge bundle without an account and without saving it. Call only at the person's direct request or after clear acceptance of a specific preview proposal. The strict input rejects transcripts, conversation histories, personal or organization-specific memory, and unsupported knowledge types.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['provider', 'request_id', 'provenance', 'bundles'], 'properties': {'bundles': {'type': 'array', 'items': {'type': 'object', 'required': ['knowledge_scope', 'title', 'central_question', 'knowledge_type', 'summary', 'structured_content', 'bundle_schema_version', 'topic', 'tags'], 'properties': {'tags': {'type': 'array', 'items': {'type': 'string', 'maxLength': 48, 'minLength': 1}, 'maxItems': 12}, 'title': {'type': 'string', 'maxLength': 120, 'minLength': 1}, 'topic': {'type': 'string', 'maxLength': 48, 'minLength': 1}, 'summary': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'tag_ids': {'type': 'array', 'items': {'type': 'string', 'pattern': '^[A-Za-z0-9._:-]+$', 'maxLength': 160, 'minLength': 1}, 'maxItems': 12}, 'topic_id': {'type': 'string', 'pattern': '^[A-Za-z0-9._:-]+$', 'maxLength': 160, 'minLength': 1}, 'relations': {'type': 'array', 'items': {'type': 'object', 'required': ['target_kind', 'target_id', 'type'], 'properties': {'type': {'enum': ['related', 'prerequisite', 'generalizes', 'derived_from', 'equivalent_to', 'supersedes', 'answers', 'supports', 'contradicts', 'causes', 'contributes_to', 'enables', 'inhibits'], 'type': 'string'}, 'weight': {'type': 'number', 'maximum': 1, 'exclusiveMinimum': 0}, 'direction': {'enum': ['outgoing', 'incoming'], 'type': 'string'}, 'target_id': {'type': 'string', 'pattern': '^[A-Za-z0-9._:-]+$', 'maxLength': 160, 'minLength': 1}, 'target_kind': {'enum': ['private', 'draft'], 'type': 'string', 'description': "Minimal-core drafts may relate only to the owner's private knowledge or another draft; public graph targets are unavailable."}, 'evidence_selector_indexes': {'type': 'array', 'items': {'type': 'integer', 'maximum': 23, 'minimum': 0}, 'maxItems': 24}}, 'additionalProperties': False}, 'maxItems': 12}, 'knowledge_type': {'enum': ['concept', 'procedure', 'comparison', 'mechanism', 'structure', 'claim_evidence', 'question', 'event', 'expression'], 'type': 'string'}, 'knowledge_scope': {'type': 'string', 'const': 'general_knowledge', 'description': 'Required assertion that this bundle teaches reusable knowledge independent of a person, company, product, preference, plan, task, or decision.'}, 'central_question': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'client_bundle_id': {'type': 'string', 'pattern': '^[A-Za-z0-9._:-]+$', 'maxLength': 160, 'minLength': 1}, 'evidence_selectors': {'type': 'array', 'items': {'oneOf': [{'type': 'object', 'required': ['selector_type', 'message_ref'], 'properties': {'quality': {'enum': ['unknown', 'low', 'medium', 'high'], 'type': 'string', 'default': 'unknown'}, 'polarity': {'enum': ['supports', 'contradicts'], 'type': 'string', 'default': 'supports'}, 'message_ref': {'type': 'string', 'pattern': '^[A-Za-z0-9._:-]+$', 'maxLength': 240, 'minLength': 1}, 'selector_type': {'type': 'string', 'const': 'message'}, 'relation_origin': {'enum': ['explicit_user', 'extracted_from_source', 'model_inferred'], 'type': 'string', 'default': 'model_inferred'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['selector_type', 'source_ref'], 'properties': {'quality': {'enum': ['unknown', 'low', 'medium', 'high'], 'type': 'string', 'default': 'unknown'}, 'polarity': {'enum': ['supports', 'contradicts'], 'type': 'string', 'default': 'supports'}, 'source_ref': {'type': 'string', 'maxLength': 2048, 'minLength': 1}, 'selector_type': {'type': 'string', 'const': 'external_ref'}, 'relation_origin': {'enum': ['explicit_user', 'extracted_from_source', 'model_inferred'], 'type': 'string', 'default': 'model_inferred'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['selector_type', 'start', 'end'], 'properties': {'end': {'type': 'integer', 'maximum': 10000000, 'minimum': 1}, 'start': {'type': 'integer', 'maximum': 9999999, 'minimum': 0}, 'quality': {'enum': ['unknown', 'low', 'medium', 'high'], 'type': 'string', 'default': 'unknown'}, 'polarity': {'enum': ['supports', 'contradicts'], 'type': 'string', 'default': 'supports'}, 'selector_type': {'type': 'string', 'const': 'text_position'}, 'relation_origin': {'enum': ['explicit_user', 'extracted_from_source', 'model_inferred'], 'type': 'string', 'default': 'model_inferred'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['selector_type', 'line_start', 'line_end'], 'properties': {'quality': {'enum': ['unknown', 'low', 'medium', 'high'], 'type': 'string', 'default': 'unknown'}, 'line_end': {'type': 'integer', 'maximum': 1000000, 'minimum': 1}, 'polarity': {'enum': ['supports', 'contradicts'], 'type': 'string', 'default': 'supports'}, 'line_start': {'type': 'integer', 'maximum': 1000000, 'minimum': 1}, 'selector_type': {'type': 'string', 'const': 'line_range'}, 'relation_origin': {'enum': ['explicit_user', 'extracted_from_source', 'model_inferred'], 'type': 'string', 'default': 'model_inferred'}}, 'additionalProperties': False}]}, 'maxItems': 24}, 'structured_content': {'oneOf': [{'type': 'object', 'required': ['type'], 'properties': {'type': {'type': 'string', 'const': 'concept'}, 'examples': {'type': 'array', 'items': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'default': [], 'maxItems': 24, 'description': 'Concrete instances of this concept; explain why each fits. Prefer one concise example supported by the selected material when useful; otherwise use an empty array.'}, 'definition': {'type': 'string', 'default': '', 'maxLength': 4000}, 'key_points': {'type': 'array', 'items': {'type': 'string', 'maxLength': 6000, 'minLength': 1}, 'default': [], 'maxItems': 24}, 'non_examples': {'type': 'array', 'items': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'default': [], 'maxItems': 24, 'description': 'Nearby cases that do not meet the definition; explain the distinguishing boundary. Include only when supported by the selected material and useful; otherwise use an empty array.'}, 'misconceptions': {'type': 'array', 'items': {'type': 'object', 'required': ['claim', 'correction'], 'properties': {'claim': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'correction': {'type': 'string', 'maxLength': 4000, 'minLength': 1}}, 'additionalProperties': False}, 'default': [], 'maxItems': 12, 'description': 'Misconceptions and corrections as {claim, correction} pairs: a mistaken interpretation and its accurate replacement with a brief reason. Include only when supported by the selected material; otherwise use an empty array. Never attribute a misconception to the user or fabricate evidence.'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['type'], 'properties': {'goal': {'type': 'string', 'default': '', 'maxLength': 4000}, 'type': {'type': 'string', 'const': 'procedure'}, 'steps': {'type': 'array', 'items': {'type': 'object', 'required': ['title'], 'properties': {'title': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'detail': {'type': 'string', 'default': '', 'maxLength': 4000}}, 'additionalProperties': False}, 'default': [], 'maxItems': 30}, 'branches': {'type': 'array', 'items': {'type': 'object', 'required': ['condition', 'action'], 'properties': {'action': {'type': 'string', 'maxLength': 4000, 'minLength': 1}, 'condition': {'type': 'string', 'maxLength': 500, 'minLength': 1}}, 'additionalProperties': False}, 'default': [], 'maxItems': 16}, 'done_when': {'type': 'array', 'items': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'default': [], 'maxItems': 24}, 'failure_modes': {'type': 'array', 'items': {'type': 'object', 'required': ['symptom', 'response'], 'properties': {'symptom': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'response': {'type': 'string', 'maxLength': 4000, 'minLength': 1}}, 'additionalProperties': False}, 'default': [], 'maxItems': 16}, 'prerequisites': {'type': 'array', 'items': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'default': [], 'maxItems': 24}}, 'additionalProperties': False}, {'type': 'object', 'required': ['type'], 'properties': {'type': {'type': 'string', 'const': 'comparison'}, 'targets': {'type': 'array', 'items': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'default': [], 'maxItems': 8}, 'criteria': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'values'], 'properties': {'name': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'values': {'type': 'array', 'items': {'type': 'string', 'maxLength': 4000, 'minLength': 1}, 'maxItems': 8}}, 'additionalProperties': False}, 'default': [], 'maxItems': 20}, 'differences': {'type': 'array', 'items': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'default': [], 'maxItems': 24}, 'choice_guide': {'type': 'array', 'items': {'type': 'object', 'required': ['condition', 'recommendation'], 'properties': {'condition': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'recommendation': {'type': 'string', 'maxLength': 4000, 'minLength': 1}}, 'additionalProperties': False}, 'default': [], 'maxItems': 16}, 'commonalities': {'type': 'array', 'items': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'default': [], 'maxItems': 24}}, 'additionalProperties': False}, {'type': 'object', 'required': ['type'], 'properties': {'type': {'type': 'string', 'const': 'mechanism'}, 'causes': {'type': 'array', 'items': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'default': [], 'maxItems': 24}, 'stages': {'type': 'array', 'items': {'type': 'object', 'required': ['title'], 'properties': {'title': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'detail': {'type': 'string', 'default': '', 'maxLength': 4000}}, 'additionalProperties': False}, 'default': [], 'maxItems': 30}, 'results': {'type': 'array', 'items': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'default': [], 'maxItems': 24}, 'conditions': {'type': 'array', 'items': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'default': [], 'maxItems': 24}, 'exceptions': {'type': 'array', 'items': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'default': [], 'maxItems': 24}}, 'additionalProperties': False}, {'type': 'object', 'required': ['type'], 'properties': {'type': {'type': 'string', 'const': 'structure'}, 'purpose': {'type': 'string', 'default': '', 'maxLength': 4000}, 'relations': {'type': 'array', 'items': {'type': 'object', 'required': ['source_id', 'target_id', 'label'], 'properties': {'label': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'source_id': {'type': 'string', 'maxLength': 80, 'minLength': 1}, 'target_id': {'type': 'string', 'maxLength': 80, 'minLength': 1}}, 'additionalProperties': False}, 'default': [], 'maxItems': 60}, 'boundaries': {'type': 'array', 'items': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'default': [], 'maxItems': 24}, 'components': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'label'], 'properties': {'id': {'type': 'string', 'pattern': '^[A-Za-z0-9._:-]+$', 'maxLength': 80, 'minLength': 1}, 'role': {'type': 'string', 'default': '', 'maxLength': 4000}, 'label': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'parent_id': {'type': 'string', 'pattern': '^[A-Za-z0-9._:-]+$', 'maxLength': 80, 'minLength': 1}}, 'additionalProperties': False}, 'default': [], 'maxItems': 40}}, 'additionalProperties': False}, {'type': 'object', 'required': ['type'], 'properties': {'type': {'type': 'string', 'const': 'claim_evidence'}, 'claim': {'type': 'string', 'default': '', 'maxLength': 4000}, 'scope': {'type': 'array', 'items': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'default': [], 'maxItems': 24}, 'evidence': {'type': 'array', 'items': {'type': 'object', 'required': ['statement'], 'properties': {'source': {'type': 'string', 'maxLength': 1000, 'minLength': 1}, 'statement': {'type': 'string', 'maxLength': 4000, 'minLength': 1}}, 'additionalProperties': False}, 'default': [], 'maxItems': 24}, 'confidence': {'enum': ['low', 'medium', 'high'], 'type': 'string'}, 'limitations': {'type': 'array', 'items': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'default': [], 'maxItems': 24}, 'counterevidence': {'type': 'array', 'items': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'default': [], 'maxItems': 24}}, 'additionalProperties': False}, {'type': 'object', 'required': ['type'], 'properties': {'type': {'type': 'string', 'const': 'question'}, 'status': {'enum': ['open', 'answered'], 'type': 'string', 'default': 'open'}, 'context': {'type': 'string', 'default': '', 'maxLength': 4000}, 'question': {'type': 'string', 'default': '', 'maxLength': 4000}, 'hypotheses': {'type': 'array', 'items': {'type': 'string', 'maxLength': 6000, 'minLength': 1}, 'default': [], 'maxItems': 24}, 'next_steps': {'type': 'array', 'items': {'type': 'string', 'maxLength': 6000, 'minLength': 1}, 'default': [], 'maxItems': 24}, 'known_facts': {'type': 'array', 'items': {'type': 'string', 'maxLength': 6000, 'minLength': 1}, 'default': [], 'maxItems': 24}, 'answer_summary': {'type': 'string', 'default': '', 'maxLength': 4000}}, 'additionalProperties': False}, {'type': 'object', 'required': ['type'], 'properties': {'type': {'type': 'string', 'const': 'decision'}, 'context': {'type': 'string', 'default': '', 'maxLength': 4000}, 'options': {'type': 'array', 'items': {'type': 'object', 'required': ['name'], 'properties': {'name': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'tradeoffs': {'type': 'string', 'default': '', 'maxLength': 4000}}, 'additionalProperties': False}, 'default': [], 'maxItems': 24}, 'outcome': {'type': 'string', 'default': '', 'maxLength': 4000}, 'criteria': {'type': 'array', 'items': {'type': 'string', 'maxLength': 6000, 'minLength': 1}, 'default': [], 'maxItems': 24}, 'decision': {'type': 'string', 'default': '', 'maxLength': 4000}, 'rationale': {'type': 'array', 'items': {'type': 'string', 'maxLength': 6000, 'minLength': 1}, 'default': [], 'maxItems': 24}, 'reconsider_when': {'type': 'array', 'items': {'type': 'string', 'maxLength': 6000, 'minLength': 1}, 'default': [], 'maxItems': 24}}, 'additionalProperties': False}, {'type': 'object', 'required': ['type'], 'properties': {'type': {'type': 'string', 'const': 'event'}, 'event': {'type': 'string', 'default': '', 'maxLength': 4000}, 'causes': {'type': 'array', 'items': {'type': 'string', 'maxLength': 6000, 'minLength': 1}, 'default': [], 'maxItems': 24}, 'changes': {'type': 'array', 'items': {'type': 'string', 'maxLength': 6000, 'minLength': 1}, 'default': [], 'maxItems': 24}, 'context': {'type': 'string', 'default': '', 'maxLength': 4000}, 'chronology': {'type': 'object', 'required': ['start', 'precision'], 'properties': {'end': {'type': 'object', 'required': ['year', 'era'], 'properties': {'day': {'type': 'integer', 'maximum': 31, 'minimum': 1}, 'era': {'enum': ['bce', 'ce'], 'type': 'string'}, 'year': {'type': 'integer', 'maximum': 999999, 'minimum': 1}, 'month': {'type': 'integer', 'maximum': 12, 'minimum': 1}}, 'additionalProperties': False}, 'start': {'type': 'object', 'required': ['year', 'era'], 'properties': {'day': {'type': 'integer', 'maximum': 31, 'minimum': 1}, 'era': {'enum': ['bce', 'ce'], 'type': 'string'}, 'year': {'type': 'integer', 'maximum': 999999, 'minimum': 1}, 'month': {'type': 'integer', 'maximum': 12, 'minimum': 1}}, 'additionalProperties': False}, 'precision': {'enum': ['exact', 'day', 'month', 'year', 'decade', 'century', 'approximate', 'range'], 'type': 'string'}}, 'additionalProperties': False}, 'occurred_at': {'type': 'string', 'default': '', 'maxLength': 500}, 'consequences': {'type': 'array', 'items': {'type': 'string', 'maxLength': 6000, 'minLength': 1}, 'default': [], 'maxItems': 24}}, 'additionalProperties': False}, {'type': 'object', 'required': ['type', 'language'], 'properties': {'type': {'type': 'string', 'const': 'expression'}, 'nuance': {'type': 'string', 'default': '', 'maxLength': 4000}, 'examples': {'type': 'array', 'items': {'type': 'object', 'required': ['text'], 'properties': {'note': {'type': 'string', 'maxLength': 4000, 'minLength': 1}, 'text': {'type': 'string', 'maxLength': 4000, 'minLength': 1}, 'translation': {'type': 'string', 'maxLength': 4000, 'minLength': 1}}, 'additionalProperties': False}, 'default': [], 'maxItems': 24}, 'language': {'type': 'string', 'maxLength': 255, 'minLength': 2}, 'meanings': {'type': 'array', 'items': {'type': 'string', 'maxLength': 6000, 'minLength': 1}, 'default': [], 'maxItems': 24}, 'register': {'type': 'string', 'default': '', 'maxLength': 500}, 'contrasts': {'type': 'array', 'items': {'type': 'object', 'required': ['expression', 'difference'], 'properties': {'difference': {'type': 'string', 'maxLength': 4000, 'minLength': 1}, 'expression': {'type': 'string', 'maxLength': 500, 'minLength': 1}}, 'additionalProperties': False}, 'default': [], 'maxItems': 24}, 'expression': {'type': 'string', 'default': '', 'maxLength': 4000}, 'translations': {'type': 'array', 'items': {'type': 'object', 'required': ['language', 'text'], 'properties': {'text': {'type': 'string', 'maxLength': 4000, 'minLength': 1}, 'language': {'type': 'string', 'maxLength': 255, 'minLength': 2}}, 'additionalProperties': False}, 'default': [], 'maxItems': 24}, 'pronunciation': {'type': 'string', 'default': '', 'maxLength': 500}, 'usage_contexts': {'type': 'array', 'items': {'type': 'string', 'maxLength': 6000, 'minLength': 1}, 'default': [], 'maxItems': 24}, 'common_mistakes': {'type': 'array', 'items': {'type': 'object', 'required': ['incorrect', 'correction'], 'properties': {'incorrect': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'correction': {'type': 'string', 'maxLength': 4000, 'minLength': 1}}, 'additionalProperties': False}, 'default': [], 'maxItems': 24}}, 'additionalProperties': False}]}, 'resolution_proposal': {'type': 'object', 'required': ['action', 'source_item_ids', 'change_summary', 'reason'], 'properties': {'action': {'enum': ['save_new', 'merge', 'update'], 'type': 'string'}, 'reason': {'type': 'string', 'maxLength': 1000, 'minLength': 1}, 'change_summary': {'type': 'object', 'properties': {'added': {'type': 'array', 'items': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'default': [], 'maxItems': 50}, 'changed': {'type': 'array', 'items': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'default': [], 'maxItems': 50}, 'conflicts': {'type': 'array', 'items': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'default': [], 'maxItems': 50}, 'preserved': {'type': 'array', 'items': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'default': [], 'maxItems': 50}}, 'additionalProperties': False}, 'target_item_id': {'type': 'string', 'pattern': '^[A-Za-z0-9._:-]+$', 'maxLength': 160, 'minLength': 1}, 'source_item_ids': {'type': 'array', 'items': {'type': 'string', 'pattern': '^[A-Za-z0-9._:-]+$', 'maxLength': 160, 'minLength': 1}, 'maxItems': 50, 'minItems': 1}, 'expected_target_version': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1}}, 'additionalProperties': False}, 'bundle_schema_version': {'type': 'number', 'const': 1}}, 'additionalProperties': False}, 'maxItems': 50, 'minItems': 1}, 'provider': {'enum': ['chatgpt', 'claude', 'gemini', 'other'], 'type': 'string'}, 'provenance': {'type': 'object', 'required': ['type', 'conversation_ref'], 'properties': {'type': {'type': 'string', 'const': 'current_conversation'}, 'source_url': {'type': 'string', 'format': 'uri', 'maxLength': 2048}, 'discussed_at': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$'}, 'client_version': {'type': 'string', 'maxLength': 160, 'minLength': 1}, 'reported_agent': {'type': 'string', 'maxLength': 160, 'minLength': 1}, 'reported_model': {'type': 'string', 'maxLength': 160, 'minLength': 1}, 'conversation_ref': {'type': 'string', 'pattern': '^[A-Za-z0-9._:-]+$', 'maxLength': 240, 'minLength': 1}}, 'additionalProperties': False}, 'request_id': {'type': 'string', 'pattern': '^[A-Za-z0-9._:-]+$', 'maxLength': 160, 'minLength': 1}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status', 'persisted', 'bundle_count', 'knowledge_type', 'title'], 'properties': {'title': {'type': 'string', 'maxLength': 120, 'minLength': 1}, 'status': {'enum': ['valid', 'preview'], 'type': 'string'}, 'persisted': {'type': 'boolean', 'const': False}, 'bundle_count': {'type': 'number', 'const': 1}, 'knowledge_type': {'enum': ['concept', 'procedure', 'comparison', 'mechanism', 'structure', 'claim_evidence', 'question', 'event', 'expression'], 'type': 'string'}}, 'additionalProperties': False}
Modifié
create_knowledge_bundle_drafts
3 October 2026 02:50
Modifié
create_card_drafts
3 October 2026 02:50
Modifié
check_memostem_connection
3 October 2026 02:50
Modifié
preview_knowledge_bundle
3 October 2026 02:50
Modifié
claim_guest_knowledge_workspace
3 October 2026 02:50
Modifié
refresh_guest_knowledge_shelf_link
3 October 2026 02:50
Modifié
save_guest_knowledge_bundles
3 October 2026 02:50
Modifié
validate_knowledge_bundle
3 October 2026 02:50
Modifié
connect_memostem
3 October 2026 02:50
Modifié
start_memostem
3 October 2026 02:50
Modifié
create_knowledge_bundle_drafts
25 September 2026 02:49
Modifié
preview_knowledge_bundle
25 September 2026 02:49
Ajouté
refresh_guest_knowledge_shelf_link
25 September 2026 02:49
Modifié
validate_knowledge_bundle
25 September 2026 02:49
Modifié
create_knowledge_bundle_drafts
23 September 2026 02:40
Modifié
check_memostem_connection
23 September 2026 02:40
Modifié
preview_knowledge_bundle
23 September 2026 02:40
Modifié
validate_knowledge_bundle
23 September 2026 02:40
Ajouté
connect_memostem
23 September 2026 02:40
Ajouté
start_memostem
23 September 2026 02:40
Ajouté
create_knowledge_bundle_drafts
21 September 2026 02:41
Ajouté
create_card_drafts
21 September 2026 02:41
Ajouté
check_memostem_connection
21 September 2026 02:41
Ajouté
preview_knowledge_bundle
21 September 2026 02:41
Ajouté
claim_guest_knowledge_workspace
21 September 2026 02:41
Ajouté
save_guest_knowledge_bundles
21 September 2026 02:41
Ajouté
validate_knowledge_bundle
21 September 2026 02:41