-
Notifications
You must be signed in to change notification settings - Fork 0
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 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 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 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를 기준으로 한다.