Skip to content

Labs and Extensions

유용태 edited this page Jun 18, 2026 · 2 revisions

Labs and Extensions

이 페이지는 json-document core 주변의 공식 extension package, lab app, lab extension 목록이다.

Core API는 @interactive-os/json-document가 제공하는 안정화된 document surface다. Extension package는 그 core 위에서 특정 제품 기능을 더 쉽게 만들기 위한 별도 package다. Lab은 아직 실험, 검증, 데모, product fit 확인을 위해 둔 공간이다.

구분

구분 위치 성격
공식 extension package packages/* core 위에 얹는 별도 package
Lab app apps/*-lab 특정 extension이나 workflow를 확인하는 앱
Lab extension labs/extensions/* 승격 전 실험 extension

labs는 core 1.x 하위 호환성 보장 범위에 포함되지 않는다. Lab에서 검증된 기능은 이후 공식 extension package나 core API로 승격될 수 있다.

공식 extension packages

공식 extension package는 packages/* 아래에 있으며, @interactive-os/json-document core 위에 의존한다. Core와 별도 package이므로 각 package의 version과 changelog를 기준으로 관리된다.

Package 위치 용도
@interactive-os/json-document-bulk-edit packages/bulk-edit JSONPath 기반 일괄 편집
@interactive-os/json-document-clipboard-web packages/clipboard-web Web clipboard adapter
@interactive-os/json-document-collection packages/collection ordered array item command
@interactive-os/json-document-comments packages/comments document anchor 기반 review comment
@interactive-os/json-document-dirty-state packages/dirty-state 변경 여부 추적
@interactive-os/json-document-form-draft packages/form-draft commit 전 임시 invalid form input 관리
@interactive-os/json-document-grouping packages/grouping 구조적 group/ungroup
@interactive-os/json-document-id-resolver packages/id-resolver scope와 id 기반 node 위치 확인
@interactive-os/json-document-outline packages/outline outline tree와 구조 편집
@interactive-os/json-document-patch-log packages/patch-log patch 기록과 replay
@interactive-os/json-document-patch-preview packages/patch-preview patch dry-run과 preview
@interactive-os/json-document-persist-web packages/persist-web browser storage persistence
@interactive-os/json-document-proposed-changes packages/proposed-changes 제안 변경 review workflow
@interactive-os/json-document-protected-ranges packages/protected-ranges 보호 범위 guard
@interactive-os/json-document-schema-form packages/schema-form schema 기반 field descriptor
@interactive-os/json-document-search-replace packages/search-replace text field search/replace
@interactive-os/json-document-snippets packages/snippets reusable JSON payload insertion

Lab apps

Lab app은 특정 workflow나 extension 후보를 실제 화면에서 확인하기 위한 앱이다. Public API 기준 문서가 아니라 제품 검증 공간이다.

App 위치 확인 대상
@interactive-os/json-document-copy-review-lab apps/copy-review-lab copy/review workflow
@interactive-os/json-document-grouping-lab apps/grouping-lab grouping extension workflow
@interactive-os/json-document-proposed-changes-lab apps/proposed-changes-lab proposed changes workflow
@interactive-os/json-document-protected-ranges-lab apps/protected-ranges-lab protected ranges workflow
@interactive-os/json-document-review-comments-lab apps/review-comments-lab review comments workflow
@interactive-os/json-document-schema-form-lab apps/schema-form-lab schema form workflow
@interactive-os/json-document-snippet-composer-lab apps/snippet-composer-lab snippet composer workflow

Lab extensions

Lab extension은 core나 공식 package로 승격하기 전의 기능 후보이다. 이름과 behavior는 실험 중일 수 있다.

Package 위치 용도
@interactive-os/json-document-apply-defaults labs/extensions/apply-defaults object에 누락된 기본값 적용
@interactive-os/json-document-autosave labs/extensions/autosave autosave orchestration
@interactive-os/json-document-batch-update labs/extensions/batch-update 선택 item의 특정 field 일괄 변경
@interactive-os/json-document-bookmarks labs/extensions/bookmarks bookmark tracking
@interactive-os/json-document-calculated-fields labs/extensions/calculated-fields host-calculated field 동기화
@interactive-os/json-document-change-case labs/extensions/change-case 문자열 case/whitespace 변환
@interactive-os/json-document-checkpoints labs/extensions/checkpoints checkpoint snapshot
@interactive-os/json-document-clear-contents labs/extensions/clear-contents schema 기반 빈 값으로 field reset
@interactive-os/json-document-convert-block-type labs/extensions/convert-block-type 블록 type 변환
@interactive-os/json-document-convert-type labs/extensions/convert-type string/number/boolean field type 변환
@interactive-os/json-document-dedupe labs/extensions/dedupe array item 중복 제거
@interactive-os/json-document-document-diff labs/extensions/document-diff document diff와 apply
@interactive-os/json-document-drag-drop labs/extensions/drag-drop drag/drop command planning
@interactive-os/json-document-fill-blanks labs/extensions/fill-blanks 비어 있는 slot만 채우기
@interactive-os/json-document-fill-down labs/extensions/fill-down 마지막 non-empty 값을 아래 빈 값으로 전파
@interactive-os/json-document-fill-series labs/extensions/fill-series series/fill propagation
@interactive-os/json-document-generate-slug labs/extensions/generate-slug 문자열에서 URL-safe slug 생성
@interactive-os/json-document-grid-range labs/extensions/grid-range sparse-record 기반 grid range 편집
@interactive-os/json-document-increment-number labs/extensions/increment-number numeric field 증가/감소
@interactive-os/json-document-join-text labs/extensions/join-text array를 문자열 field로 join
@interactive-os/json-document-layer-order labs/extensions/layer-order layer ordering
@interactive-os/json-document-limit-items labs/extensions/limit-items array item 개수 제한
@interactive-os/json-document-live-cursors labs/extensions/live-cursors remote collaborator cursor tracking
@interactive-os/json-document-move-selected labs/extensions/move-selected 연속 선택 item 이동
@interactive-os/json-document-pad-text labs/extensions/pad-text 문자열 minimum length padding
@interactive-os/json-document-paste-cells labs/extensions/paste-cells 2D matrix를 rectangular cells에 paste
@interactive-os/json-document-paste-special labs/extensions/paste-special paste special workflow
@interactive-os/json-document-references labs/extensions/references stable reference와 backlink
@interactive-os/json-document-renumber-items labs/extensions/renumber-items array position을 order field에 동기화
@interactive-os/json-document-round labs/extensions/round round/floor/ceil number transform
@interactive-os/json-document-sort-items labs/extensions/sort-items array item sort/reverse
@interactive-os/json-document-sparse-record labs/extensions/sparse-record sparse record entry editing
@interactive-os/json-document-split-text labs/extensions/split-text string을 array item으로 split
@interactive-os/json-document-swap-items labs/extensions/swap-items array item 두 개 교환
@interactive-os/json-document-toggle-option labs/extensions/toggle-option array set 안의 option toggle
@interactive-os/json-document-toggle-value labs/extensions/toggle-value field 값을 toggle 또는 advance
@interactive-os/json-document-trim-text labs/extensions/trim-text 문자열 max length trim
@interactive-os/json-document-wrap-selection labs/extensions/wrap-selection 선택 item wrap/unwrap

읽는 기준

제품에서 바로 써야 하는 것은 먼저 공식 extension package를 본다.

특정 workflow가 아직 공식 package로 올라오지 않았다면 lab app이나 lab extension을 참고할 수 있다. 이 경우 API 안정성을 전제로 두지 말고, 현재 실험 방향과 product fit을 확인하는 자료로 본다.

Core API 자체는 json-document Core API Reference를 기준으로 한다.

Clone this wiki locally