ppi-sdk 1.0.0 โ 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +22 -0
- package/console.log(' +0 -0
- package/console.log('Import +0 -0
- package/package.json +2 -1
- package/src/README.md +13 -0
- package/{ppi-api/node_modules/.package-lock.json โ tools/package-lock.json} +827 -847
- package/tools/package.json +17 -0
- package/tools/playground-static/index.html +666 -0
- package/tools/ppi-bridge.js +268 -0
- package/tools/ppi-playground-server.js +273 -0
- package/tools/ppi-playground.js +260 -91
- package/tools/simple-server.js +66 -0
- package/ppi-api/node_modules/.bin/mime +0 -16
- package/ppi-api/node_modules/.bin/mime.cmd +0 -17
- package/ppi-api/node_modules/.bin/mime.ps1 +0 -28
- package/ppi-api/node_modules/accepts/HISTORY.md +0 -243
- package/ppi-api/node_modules/accepts/LICENSE +0 -23
- package/ppi-api/node_modules/accepts/README.md +0 -140
- package/ppi-api/node_modules/accepts/index.js +0 -238
- package/ppi-api/node_modules/accepts/package.json +0 -47
- package/ppi-api/node_modules/array-flatten/LICENSE +0 -21
- package/ppi-api/node_modules/array-flatten/README.md +0 -43
- package/ppi-api/node_modules/array-flatten/array-flatten.js +0 -64
- package/ppi-api/node_modules/array-flatten/package.json +0 -39
- package/ppi-api/node_modules/body-parser/HISTORY.md +0 -672
- package/ppi-api/node_modules/body-parser/LICENSE +0 -23
- package/ppi-api/node_modules/body-parser/README.md +0 -476
- package/ppi-api/node_modules/body-parser/SECURITY.md +0 -25
- package/ppi-api/node_modules/body-parser/index.js +0 -156
- package/ppi-api/node_modules/body-parser/lib/read.js +0 -205
- package/ppi-api/node_modules/body-parser/lib/types/json.js +0 -247
- package/ppi-api/node_modules/body-parser/lib/types/raw.js +0 -101
- package/ppi-api/node_modules/body-parser/lib/types/text.js +0 -121
- package/ppi-api/node_modules/body-parser/lib/types/urlencoded.js +0 -307
- package/ppi-api/node_modules/body-parser/package.json +0 -56
- package/ppi-api/node_modules/bytes/History.md +0 -97
- package/ppi-api/node_modules/bytes/LICENSE +0 -23
- package/ppi-api/node_modules/bytes/Readme.md +0 -152
- package/ppi-api/node_modules/bytes/index.js +0 -170
- package/ppi-api/node_modules/bytes/package.json +0 -42
- package/ppi-api/node_modules/call-bind-apply-helpers/.eslintrc +0 -17
- package/ppi-api/node_modules/call-bind-apply-helpers/.github/FUNDING.yml +0 -12
- package/ppi-api/node_modules/call-bind-apply-helpers/.nycrc +0 -9
- package/ppi-api/node_modules/call-bind-apply-helpers/CHANGELOG.md +0 -30
- package/ppi-api/node_modules/call-bind-apply-helpers/LICENSE +0 -21
- package/ppi-api/node_modules/call-bind-apply-helpers/README.md +0 -62
- package/ppi-api/node_modules/call-bind-apply-helpers/actualApply.d.ts +0 -1
- package/ppi-api/node_modules/call-bind-apply-helpers/actualApply.js +0 -10
- package/ppi-api/node_modules/call-bind-apply-helpers/applyBind.d.ts +0 -19
- package/ppi-api/node_modules/call-bind-apply-helpers/applyBind.js +0 -10
- package/ppi-api/node_modules/call-bind-apply-helpers/functionApply.d.ts +0 -1
- package/ppi-api/node_modules/call-bind-apply-helpers/functionApply.js +0 -4
- package/ppi-api/node_modules/call-bind-apply-helpers/functionCall.d.ts +0 -1
- package/ppi-api/node_modules/call-bind-apply-helpers/functionCall.js +0 -4
- package/ppi-api/node_modules/call-bind-apply-helpers/index.d.ts +0 -64
- package/ppi-api/node_modules/call-bind-apply-helpers/index.js +0 -15
- package/ppi-api/node_modules/call-bind-apply-helpers/package.json +0 -85
- package/ppi-api/node_modules/call-bind-apply-helpers/reflectApply.d.ts +0 -3
- package/ppi-api/node_modules/call-bind-apply-helpers/reflectApply.js +0 -4
- package/ppi-api/node_modules/call-bind-apply-helpers/test/index.js +0 -63
- package/ppi-api/node_modules/call-bind-apply-helpers/tsconfig.json +0 -9
- package/ppi-api/node_modules/call-bound/.eslintrc +0 -13
- package/ppi-api/node_modules/call-bound/.github/FUNDING.yml +0 -12
- package/ppi-api/node_modules/call-bound/.nycrc +0 -9
- package/ppi-api/node_modules/call-bound/CHANGELOG.md +0 -42
- package/ppi-api/node_modules/call-bound/LICENSE +0 -21
- package/ppi-api/node_modules/call-bound/README.md +0 -53
- package/ppi-api/node_modules/call-bound/index.d.ts +0 -94
- package/ppi-api/node_modules/call-bound/index.js +0 -19
- package/ppi-api/node_modules/call-bound/package.json +0 -99
- package/ppi-api/node_modules/call-bound/test/index.js +0 -61
- package/ppi-api/node_modules/call-bound/tsconfig.json +0 -10
- package/ppi-api/node_modules/content-disposition/HISTORY.md +0 -60
- package/ppi-api/node_modules/content-disposition/LICENSE +0 -22
- package/ppi-api/node_modules/content-disposition/README.md +0 -142
- package/ppi-api/node_modules/content-disposition/index.js +0 -458
- package/ppi-api/node_modules/content-disposition/package.json +0 -44
- package/ppi-api/node_modules/content-type/HISTORY.md +0 -29
- package/ppi-api/node_modules/content-type/LICENSE +0 -22
- package/ppi-api/node_modules/content-type/README.md +0 -94
- package/ppi-api/node_modules/content-type/index.js +0 -225
- package/ppi-api/node_modules/content-type/package.json +0 -42
- package/ppi-api/node_modules/cookie/LICENSE +0 -24
- package/ppi-api/node_modules/cookie/README.md +0 -317
- package/ppi-api/node_modules/cookie/SECURITY.md +0 -25
- package/ppi-api/node_modules/cookie/index.js +0 -334
- package/ppi-api/node_modules/cookie/package.json +0 -44
- package/ppi-api/node_modules/cookie-signature/History.md +0 -38
- package/ppi-api/node_modules/cookie-signature/Readme.md +0 -42
- package/ppi-api/node_modules/cookie-signature/index.js +0 -51
- package/ppi-api/node_modules/cookie-signature/package.json +0 -18
- package/ppi-api/node_modules/cors/CONTRIBUTING.md +0 -33
- package/ppi-api/node_modules/cors/HISTORY.md +0 -58
- package/ppi-api/node_modules/cors/LICENSE +0 -22
- package/ppi-api/node_modules/cors/README.md +0 -243
- package/ppi-api/node_modules/cors/lib/index.js +0 -238
- package/ppi-api/node_modules/cors/package.json +0 -41
- package/ppi-api/node_modules/debug/.coveralls.yml +0 -1
- package/ppi-api/node_modules/debug/.eslintrc +0 -11
- package/ppi-api/node_modules/debug/.travis.yml +0 -14
- package/ppi-api/node_modules/debug/CHANGELOG.md +0 -362
- package/ppi-api/node_modules/debug/LICENSE +0 -19
- package/ppi-api/node_modules/debug/Makefile +0 -50
- package/ppi-api/node_modules/debug/README.md +0 -312
- package/ppi-api/node_modules/debug/component.json +0 -19
- package/ppi-api/node_modules/debug/karma.conf.js +0 -70
- package/ppi-api/node_modules/debug/node.js +0 -1
- package/ppi-api/node_modules/debug/package.json +0 -49
- package/ppi-api/node_modules/debug/src/browser.js +0 -185
- package/ppi-api/node_modules/debug/src/debug.js +0 -202
- package/ppi-api/node_modules/debug/src/index.js +0 -10
- package/ppi-api/node_modules/debug/src/inspector-log.js +0 -15
- package/ppi-api/node_modules/debug/src/node.js +0 -248
- package/ppi-api/node_modules/depd/History.md +0 -103
- package/ppi-api/node_modules/depd/LICENSE +0 -22
- package/ppi-api/node_modules/depd/Readme.md +0 -280
- package/ppi-api/node_modules/depd/index.js +0 -538
- package/ppi-api/node_modules/depd/lib/browser/index.js +0 -77
- package/ppi-api/node_modules/depd/package.json +0 -45
- package/ppi-api/node_modules/destroy/LICENSE +0 -23
- package/ppi-api/node_modules/destroy/README.md +0 -63
- package/ppi-api/node_modules/destroy/index.js +0 -209
- package/ppi-api/node_modules/destroy/package.json +0 -48
- package/ppi-api/node_modules/dunder-proto/.eslintrc +0 -5
- package/ppi-api/node_modules/dunder-proto/.github/FUNDING.yml +0 -12
- package/ppi-api/node_modules/dunder-proto/.nycrc +0 -13
- package/ppi-api/node_modules/dunder-proto/CHANGELOG.md +0 -24
- package/ppi-api/node_modules/dunder-proto/LICENSE +0 -21
- package/ppi-api/node_modules/dunder-proto/README.md +0 -54
- package/ppi-api/node_modules/dunder-proto/get.d.ts +0 -5
- package/ppi-api/node_modules/dunder-proto/get.js +0 -30
- package/ppi-api/node_modules/dunder-proto/package.json +0 -76
- package/ppi-api/node_modules/dunder-proto/set.d.ts +0 -5
- package/ppi-api/node_modules/dunder-proto/set.js +0 -35
- package/ppi-api/node_modules/dunder-proto/test/get.js +0 -34
- package/ppi-api/node_modules/dunder-proto/test/index.js +0 -4
- package/ppi-api/node_modules/dunder-proto/test/set.js +0 -50
- package/ppi-api/node_modules/dunder-proto/tsconfig.json +0 -9
- package/ppi-api/node_modules/ee-first/LICENSE +0 -22
- package/ppi-api/node_modules/ee-first/README.md +0 -80
- package/ppi-api/node_modules/ee-first/index.js +0 -95
- package/ppi-api/node_modules/ee-first/package.json +0 -29
- package/ppi-api/node_modules/encodeurl/LICENSE +0 -22
- package/ppi-api/node_modules/encodeurl/README.md +0 -109
- package/ppi-api/node_modules/encodeurl/index.js +0 -60
- package/ppi-api/node_modules/encodeurl/package.json +0 -40
- package/ppi-api/node_modules/es-define-property/.eslintrc +0 -13
- package/ppi-api/node_modules/es-define-property/.github/FUNDING.yml +0 -12
- package/ppi-api/node_modules/es-define-property/.nycrc +0 -9
- package/ppi-api/node_modules/es-define-property/CHANGELOG.md +0 -29
- package/ppi-api/node_modules/es-define-property/LICENSE +0 -21
- package/ppi-api/node_modules/es-define-property/README.md +0 -49
- package/ppi-api/node_modules/es-define-property/index.d.ts +0 -3
- package/ppi-api/node_modules/es-define-property/index.js +0 -14
- package/ppi-api/node_modules/es-define-property/package.json +0 -81
- package/ppi-api/node_modules/es-define-property/test/index.js +0 -56
- package/ppi-api/node_modules/es-define-property/tsconfig.json +0 -10
- package/ppi-api/node_modules/es-errors/.eslintrc +0 -5
- package/ppi-api/node_modules/es-errors/.github/FUNDING.yml +0 -12
- package/ppi-api/node_modules/es-errors/CHANGELOG.md +0 -40
- package/ppi-api/node_modules/es-errors/LICENSE +0 -21
- package/ppi-api/node_modules/es-errors/README.md +0 -55
- package/ppi-api/node_modules/es-errors/eval.d.ts +0 -3
- package/ppi-api/node_modules/es-errors/eval.js +0 -4
- package/ppi-api/node_modules/es-errors/index.d.ts +0 -3
- package/ppi-api/node_modules/es-errors/index.js +0 -4
- package/ppi-api/node_modules/es-errors/package.json +0 -80
- package/ppi-api/node_modules/es-errors/range.d.ts +0 -3
- package/ppi-api/node_modules/es-errors/range.js +0 -4
- package/ppi-api/node_modules/es-errors/ref.d.ts +0 -3
- package/ppi-api/node_modules/es-errors/ref.js +0 -4
- package/ppi-api/node_modules/es-errors/syntax.d.ts +0 -3
- package/ppi-api/node_modules/es-errors/syntax.js +0 -4
- package/ppi-api/node_modules/es-errors/test/index.js +0 -19
- package/ppi-api/node_modules/es-errors/tsconfig.json +0 -49
- package/ppi-api/node_modules/es-errors/type.d.ts +0 -3
- package/ppi-api/node_modules/es-errors/type.js +0 -4
- package/ppi-api/node_modules/es-errors/uri.d.ts +0 -3
- package/ppi-api/node_modules/es-errors/uri.js +0 -4
- package/ppi-api/node_modules/es-object-atoms/.eslintrc +0 -16
- package/ppi-api/node_modules/es-object-atoms/.github/FUNDING.yml +0 -12
- package/ppi-api/node_modules/es-object-atoms/CHANGELOG.md +0 -37
- package/ppi-api/node_modules/es-object-atoms/LICENSE +0 -21
- package/ppi-api/node_modules/es-object-atoms/README.md +0 -63
- package/ppi-api/node_modules/es-object-atoms/RequireObjectCoercible.d.ts +0 -3
- package/ppi-api/node_modules/es-object-atoms/RequireObjectCoercible.js +0 -11
- package/ppi-api/node_modules/es-object-atoms/ToObject.d.ts +0 -7
- package/ppi-api/node_modules/es-object-atoms/ToObject.js +0 -10
- package/ppi-api/node_modules/es-object-atoms/index.d.ts +0 -3
- package/ppi-api/node_modules/es-object-atoms/index.js +0 -4
- package/ppi-api/node_modules/es-object-atoms/isObject.d.ts +0 -3
- package/ppi-api/node_modules/es-object-atoms/isObject.js +0 -6
- package/ppi-api/node_modules/es-object-atoms/package.json +0 -80
- package/ppi-api/node_modules/es-object-atoms/test/index.js +0 -38
- package/ppi-api/node_modules/es-object-atoms/tsconfig.json +0 -6
- package/ppi-api/node_modules/escape-html/LICENSE +0 -24
- package/ppi-api/node_modules/escape-html/Readme.md +0 -43
- package/ppi-api/node_modules/escape-html/index.js +0 -78
- package/ppi-api/node_modules/escape-html/package.json +0 -24
- package/ppi-api/node_modules/etag/HISTORY.md +0 -83
- package/ppi-api/node_modules/etag/LICENSE +0 -22
- package/ppi-api/node_modules/etag/README.md +0 -159
- package/ppi-api/node_modules/etag/index.js +0 -131
- package/ppi-api/node_modules/etag/package.json +0 -47
- package/ppi-api/node_modules/express/History.md +0 -3656
- package/ppi-api/node_modules/express/LICENSE +0 -24
- package/ppi-api/node_modules/express/Readme.md +0 -260
- package/ppi-api/node_modules/express/index.js +0 -11
- package/ppi-api/node_modules/express/lib/application.js +0 -661
- package/ppi-api/node_modules/express/lib/express.js +0 -116
- package/ppi-api/node_modules/express/lib/middleware/init.js +0 -43
- package/ppi-api/node_modules/express/lib/middleware/query.js +0 -47
- package/ppi-api/node_modules/express/lib/request.js +0 -525
- package/ppi-api/node_modules/express/lib/response.js +0 -1179
- package/ppi-api/node_modules/express/lib/router/index.js +0 -673
- package/ppi-api/node_modules/express/lib/router/layer.js +0 -181
- package/ppi-api/node_modules/express/lib/router/route.js +0 -230
- package/ppi-api/node_modules/express/lib/utils.js +0 -303
- package/ppi-api/node_modules/express/lib/view.js +0 -182
- package/ppi-api/node_modules/express/package.json +0 -102
- package/ppi-api/node_modules/finalhandler/HISTORY.md +0 -210
- package/ppi-api/node_modules/finalhandler/LICENSE +0 -22
- package/ppi-api/node_modules/finalhandler/README.md +0 -147
- package/ppi-api/node_modules/finalhandler/SECURITY.md +0 -25
- package/ppi-api/node_modules/finalhandler/index.js +0 -341
- package/ppi-api/node_modules/finalhandler/package.json +0 -47
- package/ppi-api/node_modules/forwarded/HISTORY.md +0 -21
- package/ppi-api/node_modules/forwarded/LICENSE +0 -22
- package/ppi-api/node_modules/forwarded/README.md +0 -57
- package/ppi-api/node_modules/forwarded/index.js +0 -90
- package/ppi-api/node_modules/forwarded/package.json +0 -45
- package/ppi-api/node_modules/fresh/HISTORY.md +0 -70
- package/ppi-api/node_modules/fresh/LICENSE +0 -23
- package/ppi-api/node_modules/fresh/README.md +0 -119
- package/ppi-api/node_modules/fresh/index.js +0 -137
- package/ppi-api/node_modules/fresh/package.json +0 -46
- package/ppi-api/node_modules/function-bind/.eslintrc +0 -21
- package/ppi-api/node_modules/function-bind/.github/FUNDING.yml +0 -12
- package/ppi-api/node_modules/function-bind/.github/SECURITY.md +0 -3
- package/ppi-api/node_modules/function-bind/.nycrc +0 -13
- package/ppi-api/node_modules/function-bind/CHANGELOG.md +0 -136
- package/ppi-api/node_modules/function-bind/LICENSE +0 -20
- package/ppi-api/node_modules/function-bind/README.md +0 -46
- package/ppi-api/node_modules/function-bind/implementation.js +0 -84
- package/ppi-api/node_modules/function-bind/index.js +0 -5
- package/ppi-api/node_modules/function-bind/package.json +0 -87
- package/ppi-api/node_modules/function-bind/test/.eslintrc +0 -9
- package/ppi-api/node_modules/function-bind/test/index.js +0 -252
- package/ppi-api/node_modules/get-intrinsic/.eslintrc +0 -42
- package/ppi-api/node_modules/get-intrinsic/.github/FUNDING.yml +0 -12
- package/ppi-api/node_modules/get-intrinsic/.nycrc +0 -9
- package/ppi-api/node_modules/get-intrinsic/CHANGELOG.md +0 -186
- package/ppi-api/node_modules/get-intrinsic/LICENSE +0 -21
- package/ppi-api/node_modules/get-intrinsic/README.md +0 -71
- package/ppi-api/node_modules/get-intrinsic/index.js +0 -378
- package/ppi-api/node_modules/get-intrinsic/package.json +0 -97
- package/ppi-api/node_modules/get-intrinsic/test/GetIntrinsic.js +0 -274
- package/ppi-api/node_modules/get-proto/.eslintrc +0 -10
- package/ppi-api/node_modules/get-proto/.github/FUNDING.yml +0 -12
- package/ppi-api/node_modules/get-proto/.nycrc +0 -9
- package/ppi-api/node_modules/get-proto/CHANGELOG.md +0 -21
- package/ppi-api/node_modules/get-proto/LICENSE +0 -21
- package/ppi-api/node_modules/get-proto/Object.getPrototypeOf.d.ts +0 -5
- package/ppi-api/node_modules/get-proto/Object.getPrototypeOf.js +0 -6
- package/ppi-api/node_modules/get-proto/README.md +0 -50
- package/ppi-api/node_modules/get-proto/Reflect.getPrototypeOf.d.ts +0 -3
- package/ppi-api/node_modules/get-proto/Reflect.getPrototypeOf.js +0 -4
- package/ppi-api/node_modules/get-proto/index.d.ts +0 -5
- package/ppi-api/node_modules/get-proto/index.js +0 -27
- package/ppi-api/node_modules/get-proto/package.json +0 -81
- package/ppi-api/node_modules/get-proto/test/index.js +0 -68
- package/ppi-api/node_modules/get-proto/tsconfig.json +0 -9
- package/ppi-api/node_modules/gopd/.eslintrc +0 -16
- package/ppi-api/node_modules/gopd/.github/FUNDING.yml +0 -12
- package/ppi-api/node_modules/gopd/CHANGELOG.md +0 -45
- package/ppi-api/node_modules/gopd/LICENSE +0 -21
- package/ppi-api/node_modules/gopd/README.md +0 -40
- package/ppi-api/node_modules/gopd/gOPD.d.ts +0 -1
- package/ppi-api/node_modules/gopd/gOPD.js +0 -4
- package/ppi-api/node_modules/gopd/index.d.ts +0 -5
- package/ppi-api/node_modules/gopd/index.js +0 -15
- package/ppi-api/node_modules/gopd/package.json +0 -77
- package/ppi-api/node_modules/gopd/test/index.js +0 -36
- package/ppi-api/node_modules/gopd/tsconfig.json +0 -9
- package/ppi-api/node_modules/has-symbols/.eslintrc +0 -11
- package/ppi-api/node_modules/has-symbols/.github/FUNDING.yml +0 -12
- package/ppi-api/node_modules/has-symbols/.nycrc +0 -9
- package/ppi-api/node_modules/has-symbols/CHANGELOG.md +0 -91
- package/ppi-api/node_modules/has-symbols/LICENSE +0 -21
- package/ppi-api/node_modules/has-symbols/README.md +0 -46
- package/ppi-api/node_modules/has-symbols/index.d.ts +0 -3
- package/ppi-api/node_modules/has-symbols/index.js +0 -14
- package/ppi-api/node_modules/has-symbols/package.json +0 -111
- package/ppi-api/node_modules/has-symbols/shams.d.ts +0 -3
- package/ppi-api/node_modules/has-symbols/shams.js +0 -45
- package/ppi-api/node_modules/has-symbols/test/index.js +0 -22
- package/ppi-api/node_modules/has-symbols/test/shams/core-js.js +0 -29
- package/ppi-api/node_modules/has-symbols/test/shams/get-own-property-symbols.js +0 -29
- package/ppi-api/node_modules/has-symbols/test/tests.js +0 -58
- package/ppi-api/node_modules/has-symbols/tsconfig.json +0 -10
- package/ppi-api/node_modules/hasown/.eslintrc +0 -5
- package/ppi-api/node_modules/hasown/.github/FUNDING.yml +0 -12
- package/ppi-api/node_modules/hasown/.nycrc +0 -13
- package/ppi-api/node_modules/hasown/CHANGELOG.md +0 -40
- package/ppi-api/node_modules/hasown/LICENSE +0 -21
- package/ppi-api/node_modules/hasown/README.md +0 -40
- package/ppi-api/node_modules/hasown/index.d.ts +0 -3
- package/ppi-api/node_modules/hasown/index.js +0 -8
- package/ppi-api/node_modules/hasown/package.json +0 -92
- package/ppi-api/node_modules/hasown/tsconfig.json +0 -6
- package/ppi-api/node_modules/http-errors/HISTORY.md +0 -180
- package/ppi-api/node_modules/http-errors/LICENSE +0 -23
- package/ppi-api/node_modules/http-errors/README.md +0 -169
- package/ppi-api/node_modules/http-errors/index.js +0 -289
- package/ppi-api/node_modules/http-errors/package.json +0 -50
- package/ppi-api/node_modules/iconv-lite/Changelog.md +0 -162
- package/ppi-api/node_modules/iconv-lite/LICENSE +0 -21
- package/ppi-api/node_modules/iconv-lite/README.md +0 -156
- package/ppi-api/node_modules/iconv-lite/encodings/dbcs-codec.js +0 -555
- package/ppi-api/node_modules/iconv-lite/encodings/dbcs-data.js +0 -176
- package/ppi-api/node_modules/iconv-lite/encodings/index.js +0 -22
- package/ppi-api/node_modules/iconv-lite/encodings/internal.js +0 -188
- package/ppi-api/node_modules/iconv-lite/encodings/sbcs-codec.js +0 -72
- package/ppi-api/node_modules/iconv-lite/encodings/sbcs-data-generated.js +0 -451
- package/ppi-api/node_modules/iconv-lite/encodings/sbcs-data.js +0 -174
- package/ppi-api/node_modules/iconv-lite/encodings/tables/big5-added.json +0 -122
- package/ppi-api/node_modules/iconv-lite/encodings/tables/cp936.json +0 -264
- package/ppi-api/node_modules/iconv-lite/encodings/tables/cp949.json +0 -273
- package/ppi-api/node_modules/iconv-lite/encodings/tables/cp950.json +0 -177
- package/ppi-api/node_modules/iconv-lite/encodings/tables/eucjp.json +0 -182
- package/ppi-api/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json +0 -1
- package/ppi-api/node_modules/iconv-lite/encodings/tables/gbk-added.json +0 -55
- package/ppi-api/node_modules/iconv-lite/encodings/tables/shiftjis.json +0 -125
- package/ppi-api/node_modules/iconv-lite/encodings/utf16.js +0 -177
- package/ppi-api/node_modules/iconv-lite/encodings/utf7.js +0 -290
- package/ppi-api/node_modules/iconv-lite/lib/bom-handling.js +0 -52
- package/ppi-api/node_modules/iconv-lite/lib/extend-node.js +0 -217
- package/ppi-api/node_modules/iconv-lite/lib/index.d.ts +0 -24
- package/ppi-api/node_modules/iconv-lite/lib/index.js +0 -153
- package/ppi-api/node_modules/iconv-lite/lib/streams.js +0 -121
- package/ppi-api/node_modules/iconv-lite/package.json +0 -46
- package/ppi-api/node_modules/inherits/LICENSE +0 -16
- package/ppi-api/node_modules/inherits/README.md +0 -42
- package/ppi-api/node_modules/inherits/inherits.js +0 -9
- package/ppi-api/node_modules/inherits/inherits_browser.js +0 -27
- package/ppi-api/node_modules/inherits/package.json +0 -29
- package/ppi-api/node_modules/ipaddr.js/LICENSE +0 -19
- package/ppi-api/node_modules/ipaddr.js/README.md +0 -233
- package/ppi-api/node_modules/ipaddr.js/ipaddr.min.js +0 -1
- package/ppi-api/node_modules/ipaddr.js/lib/ipaddr.js +0 -673
- package/ppi-api/node_modules/ipaddr.js/lib/ipaddr.js.d.ts +0 -68
- package/ppi-api/node_modules/ipaddr.js/package.json +0 -35
- package/ppi-api/node_modules/math-intrinsics/.eslintrc +0 -16
- package/ppi-api/node_modules/math-intrinsics/.github/FUNDING.yml +0 -12
- package/ppi-api/node_modules/math-intrinsics/CHANGELOG.md +0 -24
- package/ppi-api/node_modules/math-intrinsics/LICENSE +0 -21
- package/ppi-api/node_modules/math-intrinsics/README.md +0 -50
- package/ppi-api/node_modules/math-intrinsics/abs.d.ts +0 -1
- package/ppi-api/node_modules/math-intrinsics/abs.js +0 -4
- package/ppi-api/node_modules/math-intrinsics/constants/maxArrayLength.d.ts +0 -3
- package/ppi-api/node_modules/math-intrinsics/constants/maxArrayLength.js +0 -4
- package/ppi-api/node_modules/math-intrinsics/constants/maxSafeInteger.d.ts +0 -3
- package/ppi-api/node_modules/math-intrinsics/constants/maxSafeInteger.js +0 -5
- package/ppi-api/node_modules/math-intrinsics/constants/maxValue.d.ts +0 -3
- package/ppi-api/node_modules/math-intrinsics/constants/maxValue.js +0 -5
- package/ppi-api/node_modules/math-intrinsics/floor.d.ts +0 -1
- package/ppi-api/node_modules/math-intrinsics/floor.js +0 -4
- package/ppi-api/node_modules/math-intrinsics/isFinite.d.ts +0 -3
- package/ppi-api/node_modules/math-intrinsics/isFinite.js +0 -12
- package/ppi-api/node_modules/math-intrinsics/isInteger.d.ts +0 -3
- package/ppi-api/node_modules/math-intrinsics/isInteger.js +0 -16
- package/ppi-api/node_modules/math-intrinsics/isNaN.d.ts +0 -1
- package/ppi-api/node_modules/math-intrinsics/isNaN.js +0 -6
- package/ppi-api/node_modules/math-intrinsics/isNegativeZero.d.ts +0 -3
- package/ppi-api/node_modules/math-intrinsics/isNegativeZero.js +0 -6
- package/ppi-api/node_modules/math-intrinsics/max.d.ts +0 -1
- package/ppi-api/node_modules/math-intrinsics/max.js +0 -4
- package/ppi-api/node_modules/math-intrinsics/min.d.ts +0 -1
- package/ppi-api/node_modules/math-intrinsics/min.js +0 -4
- package/ppi-api/node_modules/math-intrinsics/mod.d.ts +0 -3
- package/ppi-api/node_modules/math-intrinsics/mod.js +0 -9
- package/ppi-api/node_modules/math-intrinsics/package.json +0 -86
- package/ppi-api/node_modules/math-intrinsics/pow.d.ts +0 -1
- package/ppi-api/node_modules/math-intrinsics/pow.js +0 -4
- package/ppi-api/node_modules/math-intrinsics/round.d.ts +0 -1
- package/ppi-api/node_modules/math-intrinsics/round.js +0 -4
- package/ppi-api/node_modules/math-intrinsics/sign.d.ts +0 -3
- package/ppi-api/node_modules/math-intrinsics/sign.js +0 -11
- package/ppi-api/node_modules/math-intrinsics/test/index.js +0 -192
- package/ppi-api/node_modules/math-intrinsics/tsconfig.json +0 -3
- package/ppi-api/node_modules/media-typer/HISTORY.md +0 -22
- package/ppi-api/node_modules/media-typer/LICENSE +0 -22
- package/ppi-api/node_modules/media-typer/README.md +0 -81
- package/ppi-api/node_modules/media-typer/index.js +0 -270
- package/ppi-api/node_modules/media-typer/package.json +0 -26
- package/ppi-api/node_modules/merge-descriptors/HISTORY.md +0 -21
- package/ppi-api/node_modules/merge-descriptors/LICENSE +0 -23
- package/ppi-api/node_modules/merge-descriptors/README.md +0 -49
- package/ppi-api/node_modules/merge-descriptors/index.js +0 -60
- package/ppi-api/node_modules/merge-descriptors/package.json +0 -39
- package/ppi-api/node_modules/methods/HISTORY.md +0 -29
- package/ppi-api/node_modules/methods/LICENSE +0 -24
- package/ppi-api/node_modules/methods/README.md +0 -51
- package/ppi-api/node_modules/methods/index.js +0 -69
- package/ppi-api/node_modules/methods/package.json +0 -36
- package/ppi-api/node_modules/mime/CHANGELOG.md +0 -164
- package/ppi-api/node_modules/mime/LICENSE +0 -21
- package/ppi-api/node_modules/mime/README.md +0 -90
- package/ppi-api/node_modules/mime/cli.js +0 -8
- package/ppi-api/node_modules/mime/mime.js +0 -108
- package/ppi-api/node_modules/mime/package.json +0 -44
- package/ppi-api/node_modules/mime/src/build.js +0 -53
- package/ppi-api/node_modules/mime/src/test.js +0 -60
- package/ppi-api/node_modules/mime/types.json +0 -1
- package/ppi-api/node_modules/mime-db/HISTORY.md +0 -507
- package/ppi-api/node_modules/mime-db/LICENSE +0 -23
- package/ppi-api/node_modules/mime-db/README.md +0 -100
- package/ppi-api/node_modules/mime-db/db.json +0 -8519
- package/ppi-api/node_modules/mime-db/index.js +0 -12
- package/ppi-api/node_modules/mime-db/package.json +0 -60
- package/ppi-api/node_modules/mime-types/HISTORY.md +0 -397
- package/ppi-api/node_modules/mime-types/LICENSE +0 -23
- package/ppi-api/node_modules/mime-types/README.md +0 -113
- package/ppi-api/node_modules/mime-types/index.js +0 -188
- package/ppi-api/node_modules/mime-types/package.json +0 -44
- package/ppi-api/node_modules/ms/index.js +0 -152
- package/ppi-api/node_modules/ms/license.md +0 -21
- package/ppi-api/node_modules/ms/package.json +0 -37
- package/ppi-api/node_modules/ms/readme.md +0 -51
- package/ppi-api/node_modules/negotiator/HISTORY.md +0 -108
- package/ppi-api/node_modules/negotiator/LICENSE +0 -24
- package/ppi-api/node_modules/negotiator/README.md +0 -203
- package/ppi-api/node_modules/negotiator/index.js +0 -82
- package/ppi-api/node_modules/negotiator/lib/charset.js +0 -169
- package/ppi-api/node_modules/negotiator/lib/encoding.js +0 -184
- package/ppi-api/node_modules/negotiator/lib/language.js +0 -179
- package/ppi-api/node_modules/negotiator/lib/mediaType.js +0 -294
- package/ppi-api/node_modules/negotiator/package.json +0 -42
- package/ppi-api/node_modules/object-assign/index.js +0 -90
- package/ppi-api/node_modules/object-assign/license +0 -21
- package/ppi-api/node_modules/object-assign/package.json +0 -42
- package/ppi-api/node_modules/object-assign/readme.md +0 -61
- package/ppi-api/node_modules/object-inspect/.eslintrc +0 -53
- package/ppi-api/node_modules/object-inspect/.github/FUNDING.yml +0 -12
- package/ppi-api/node_modules/object-inspect/.nycrc +0 -13
- package/ppi-api/node_modules/object-inspect/CHANGELOG.md +0 -424
- package/ppi-api/node_modules/object-inspect/LICENSE +0 -21
- package/ppi-api/node_modules/object-inspect/example/all.js +0 -23
- package/ppi-api/node_modules/object-inspect/example/circular.js +0 -6
- package/ppi-api/node_modules/object-inspect/example/fn.js +0 -5
- package/ppi-api/node_modules/object-inspect/example/inspect.js +0 -10
- package/ppi-api/node_modules/object-inspect/index.js +0 -544
- package/ppi-api/node_modules/object-inspect/package-support.json +0 -20
- package/ppi-api/node_modules/object-inspect/package.json +0 -105
- package/ppi-api/node_modules/object-inspect/readme.markdown +0 -84
- package/ppi-api/node_modules/object-inspect/test/bigint.js +0 -58
- package/ppi-api/node_modules/object-inspect/test/browser/dom.js +0 -15
- package/ppi-api/node_modules/object-inspect/test/circular.js +0 -16
- package/ppi-api/node_modules/object-inspect/test/deep.js +0 -12
- package/ppi-api/node_modules/object-inspect/test/element.js +0 -53
- package/ppi-api/node_modules/object-inspect/test/err.js +0 -48
- package/ppi-api/node_modules/object-inspect/test/fakes.js +0 -29
- package/ppi-api/node_modules/object-inspect/test/fn.js +0 -76
- package/ppi-api/node_modules/object-inspect/test/global.js +0 -17
- package/ppi-api/node_modules/object-inspect/test/has.js +0 -15
- package/ppi-api/node_modules/object-inspect/test/holes.js +0 -15
- package/ppi-api/node_modules/object-inspect/test/indent-option.js +0 -271
- package/ppi-api/node_modules/object-inspect/test/inspect.js +0 -139
- package/ppi-api/node_modules/object-inspect/test/lowbyte.js +0 -12
- package/ppi-api/node_modules/object-inspect/test/number.js +0 -58
- package/ppi-api/node_modules/object-inspect/test/quoteStyle.js +0 -26
- package/ppi-api/node_modules/object-inspect/test/toStringTag.js +0 -40
- package/ppi-api/node_modules/object-inspect/test/undef.js +0 -12
- package/ppi-api/node_modules/object-inspect/test/values.js +0 -261
- package/ppi-api/node_modules/object-inspect/test-core-js.js +0 -26
- package/ppi-api/node_modules/object-inspect/util.inspect.js +0 -1
- package/ppi-api/node_modules/on-finished/HISTORY.md +0 -98
- package/ppi-api/node_modules/on-finished/LICENSE +0 -23
- package/ppi-api/node_modules/on-finished/README.md +0 -162
- package/ppi-api/node_modules/on-finished/index.js +0 -234
- package/ppi-api/node_modules/on-finished/package.json +0 -39
- package/ppi-api/node_modules/parseurl/HISTORY.md +0 -58
- package/ppi-api/node_modules/parseurl/LICENSE +0 -24
- package/ppi-api/node_modules/parseurl/README.md +0 -133
- package/ppi-api/node_modules/parseurl/index.js +0 -158
- package/ppi-api/node_modules/parseurl/package.json +0 -40
- package/ppi-api/node_modules/path-to-regexp/LICENSE +0 -21
- package/ppi-api/node_modules/path-to-regexp/Readme.md +0 -35
- package/ppi-api/node_modules/path-to-regexp/index.js +0 -156
- package/ppi-api/node_modules/path-to-regexp/package.json +0 -30
- package/ppi-api/node_modules/proxy-addr/HISTORY.md +0 -161
- package/ppi-api/node_modules/proxy-addr/LICENSE +0 -22
- package/ppi-api/node_modules/proxy-addr/README.md +0 -139
- package/ppi-api/node_modules/proxy-addr/index.js +0 -327
- package/ppi-api/node_modules/proxy-addr/package.json +0 -47
- package/ppi-api/node_modules/qs/.editorconfig +0 -46
- package/ppi-api/node_modules/qs/.eslintrc +0 -38
- package/ppi-api/node_modules/qs/.github/FUNDING.yml +0 -12
- package/ppi-api/node_modules/qs/.nycrc +0 -13
- package/ppi-api/node_modules/qs/CHANGELOG.md +0 -600
- package/ppi-api/node_modules/qs/LICENSE.md +0 -29
- package/ppi-api/node_modules/qs/README.md +0 -709
- package/ppi-api/node_modules/qs/dist/qs.js +0 -90
- package/ppi-api/node_modules/qs/lib/formats.js +0 -23
- package/ppi-api/node_modules/qs/lib/index.js +0 -11
- package/ppi-api/node_modules/qs/lib/parse.js +0 -296
- package/ppi-api/node_modules/qs/lib/stringify.js +0 -351
- package/ppi-api/node_modules/qs/lib/utils.js +0 -265
- package/ppi-api/node_modules/qs/package.json +0 -91
- package/ppi-api/node_modules/qs/test/empty-keys-cases.js +0 -267
- package/ppi-api/node_modules/qs/test/parse.js +0 -1170
- package/ppi-api/node_modules/qs/test/stringify.js +0 -1298
- package/ppi-api/node_modules/qs/test/utils.js +0 -136
- package/ppi-api/node_modules/range-parser/HISTORY.md +0 -56
- package/ppi-api/node_modules/range-parser/LICENSE +0 -23
- package/ppi-api/node_modules/range-parser/README.md +0 -84
- package/ppi-api/node_modules/range-parser/index.js +0 -162
- package/ppi-api/node_modules/range-parser/package.json +0 -44
- package/ppi-api/node_modules/raw-body/HISTORY.md +0 -308
- package/ppi-api/node_modules/raw-body/LICENSE +0 -22
- package/ppi-api/node_modules/raw-body/README.md +0 -223
- package/ppi-api/node_modules/raw-body/SECURITY.md +0 -24
- package/ppi-api/node_modules/raw-body/index.d.ts +0 -87
- package/ppi-api/node_modules/raw-body/index.js +0 -336
- package/ppi-api/node_modules/raw-body/package.json +0 -49
- package/ppi-api/node_modules/safe-buffer/LICENSE +0 -21
- package/ppi-api/node_modules/safe-buffer/README.md +0 -584
- package/ppi-api/node_modules/safe-buffer/index.d.ts +0 -187
- package/ppi-api/node_modules/safe-buffer/index.js +0 -65
- package/ppi-api/node_modules/safe-buffer/package.json +0 -51
- package/ppi-api/node_modules/safer-buffer/LICENSE +0 -21
- package/ppi-api/node_modules/safer-buffer/Porting-Buffer.md +0 -268
- package/ppi-api/node_modules/safer-buffer/Readme.md +0 -156
- package/ppi-api/node_modules/safer-buffer/dangerous.js +0 -58
- package/ppi-api/node_modules/safer-buffer/package.json +0 -34
- package/ppi-api/node_modules/safer-buffer/safer.js +0 -77
- package/ppi-api/node_modules/safer-buffer/tests.js +0 -406
- package/ppi-api/node_modules/send/HISTORY.md +0 -526
- package/ppi-api/node_modules/send/LICENSE +0 -23
- package/ppi-api/node_modules/send/README.md +0 -327
- package/ppi-api/node_modules/send/SECURITY.md +0 -24
- package/ppi-api/node_modules/send/index.js +0 -1142
- package/ppi-api/node_modules/send/node_modules/encodeurl/HISTORY.md +0 -14
- package/ppi-api/node_modules/send/node_modules/encodeurl/LICENSE +0 -22
- package/ppi-api/node_modules/send/node_modules/encodeurl/README.md +0 -128
- package/ppi-api/node_modules/send/node_modules/encodeurl/index.js +0 -60
- package/ppi-api/node_modules/send/node_modules/encodeurl/package.json +0 -40
- package/ppi-api/node_modules/send/node_modules/ms/index.js +0 -162
- package/ppi-api/node_modules/send/node_modules/ms/license.md +0 -21
- package/ppi-api/node_modules/send/node_modules/ms/package.json +0 -38
- package/ppi-api/node_modules/send/node_modules/ms/readme.md +0 -59
- package/ppi-api/node_modules/send/package.json +0 -62
- package/ppi-api/node_modules/serve-static/HISTORY.md +0 -487
- package/ppi-api/node_modules/serve-static/LICENSE +0 -25
- package/ppi-api/node_modules/serve-static/README.md +0 -257
- package/ppi-api/node_modules/serve-static/index.js +0 -209
- package/ppi-api/node_modules/serve-static/package.json +0 -42
- package/ppi-api/node_modules/setprototypeof/LICENSE +0 -13
- package/ppi-api/node_modules/setprototypeof/README.md +0 -31
- package/ppi-api/node_modules/setprototypeof/index.d.ts +0 -2
- package/ppi-api/node_modules/setprototypeof/index.js +0 -17
- package/ppi-api/node_modules/setprototypeof/package.json +0 -38
- package/ppi-api/node_modules/setprototypeof/test/index.js +0 -24
- package/ppi-api/node_modules/side-channel/.editorconfig +0 -9
- package/ppi-api/node_modules/side-channel/.eslintrc +0 -12
- package/ppi-api/node_modules/side-channel/.github/FUNDING.yml +0 -12
- package/ppi-api/node_modules/side-channel/.nycrc +0 -13
- package/ppi-api/node_modules/side-channel/CHANGELOG.md +0 -110
- package/ppi-api/node_modules/side-channel/LICENSE +0 -21
- package/ppi-api/node_modules/side-channel/README.md +0 -61
- package/ppi-api/node_modules/side-channel/index.d.ts +0 -14
- package/ppi-api/node_modules/side-channel/index.js +0 -43
- package/ppi-api/node_modules/side-channel/package.json +0 -85
- package/ppi-api/node_modules/side-channel/test/index.js +0 -104
- package/ppi-api/node_modules/side-channel/tsconfig.json +0 -9
- package/ppi-api/node_modules/side-channel-list/.editorconfig +0 -9
- package/ppi-api/node_modules/side-channel-list/.eslintrc +0 -11
- package/ppi-api/node_modules/side-channel-list/.github/FUNDING.yml +0 -12
- package/ppi-api/node_modules/side-channel-list/.nycrc +0 -13
- package/ppi-api/node_modules/side-channel-list/CHANGELOG.md +0 -15
- package/ppi-api/node_modules/side-channel-list/LICENSE +0 -21
- package/ppi-api/node_modules/side-channel-list/README.md +0 -62
- package/ppi-api/node_modules/side-channel-list/index.d.ts +0 -13
- package/ppi-api/node_modules/side-channel-list/index.js +0 -113
- package/ppi-api/node_modules/side-channel-list/list.d.ts +0 -14
- package/ppi-api/node_modules/side-channel-list/package.json +0 -77
- package/ppi-api/node_modules/side-channel-list/test/index.js +0 -104
- package/ppi-api/node_modules/side-channel-list/tsconfig.json +0 -9
- package/ppi-api/node_modules/side-channel-map/.editorconfig +0 -9
- package/ppi-api/node_modules/side-channel-map/.eslintrc +0 -11
- package/ppi-api/node_modules/side-channel-map/.github/FUNDING.yml +0 -12
- package/ppi-api/node_modules/side-channel-map/.nycrc +0 -13
- package/ppi-api/node_modules/side-channel-map/CHANGELOG.md +0 -22
- package/ppi-api/node_modules/side-channel-map/LICENSE +0 -21
- package/ppi-api/node_modules/side-channel-map/README.md +0 -62
- package/ppi-api/node_modules/side-channel-map/index.d.ts +0 -15
- package/ppi-api/node_modules/side-channel-map/index.js +0 -68
- package/ppi-api/node_modules/side-channel-map/package.json +0 -80
- package/ppi-api/node_modules/side-channel-map/test/index.js +0 -114
- package/ppi-api/node_modules/side-channel-map/tsconfig.json +0 -9
- package/ppi-api/node_modules/side-channel-weakmap/.editorconfig +0 -9
- package/ppi-api/node_modules/side-channel-weakmap/.eslintrc +0 -12
- package/ppi-api/node_modules/side-channel-weakmap/.github/FUNDING.yml +0 -12
- package/ppi-api/node_modules/side-channel-weakmap/.nycrc +0 -13
- package/ppi-api/node_modules/side-channel-weakmap/CHANGELOG.md +0 -28
- package/ppi-api/node_modules/side-channel-weakmap/LICENSE +0 -21
- package/ppi-api/node_modules/side-channel-weakmap/README.md +0 -62
- package/ppi-api/node_modules/side-channel-weakmap/index.d.ts +0 -15
- package/ppi-api/node_modules/side-channel-weakmap/index.js +0 -84
- package/ppi-api/node_modules/side-channel-weakmap/package.json +0 -87
- package/ppi-api/node_modules/side-channel-weakmap/test/index.js +0 -114
- package/ppi-api/node_modules/side-channel-weakmap/tsconfig.json +0 -9
- package/ppi-api/node_modules/statuses/HISTORY.md +0 -82
- package/ppi-api/node_modules/statuses/LICENSE +0 -23
- package/ppi-api/node_modules/statuses/README.md +0 -136
- package/ppi-api/node_modules/statuses/codes.json +0 -65
- package/ppi-api/node_modules/statuses/index.js +0 -146
- package/ppi-api/node_modules/statuses/package.json +0 -49
- package/ppi-api/node_modules/toidentifier/HISTORY.md +0 -9
- package/ppi-api/node_modules/toidentifier/LICENSE +0 -21
- package/ppi-api/node_modules/toidentifier/README.md +0 -61
- package/ppi-api/node_modules/toidentifier/index.js +0 -32
- package/ppi-api/node_modules/toidentifier/package.json +0 -38
- package/ppi-api/node_modules/type-is/HISTORY.md +0 -259
- package/ppi-api/node_modules/type-is/LICENSE +0 -23
- package/ppi-api/node_modules/type-is/README.md +0 -170
- package/ppi-api/node_modules/type-is/index.js +0 -266
- package/ppi-api/node_modules/type-is/package.json +0 -45
- package/ppi-api/node_modules/unpipe/HISTORY.md +0 -4
- package/ppi-api/node_modules/unpipe/LICENSE +0 -22
- package/ppi-api/node_modules/unpipe/README.md +0 -43
- package/ppi-api/node_modules/unpipe/index.js +0 -69
- package/ppi-api/node_modules/unpipe/package.json +0 -27
- package/ppi-api/node_modules/utils-merge/LICENSE +0 -20
- package/ppi-api/node_modules/utils-merge/README.md +0 -34
- package/ppi-api/node_modules/utils-merge/index.js +0 -23
- package/ppi-api/node_modules/utils-merge/package.json +0 -40
- package/ppi-api/node_modules/vary/HISTORY.md +0 -39
- package/ppi-api/node_modules/vary/LICENSE +0 -22
- package/ppi-api/node_modules/vary/README.md +0 -101
- package/ppi-api/node_modules/vary/index.js +0 -149
- package/ppi-api/node_modules/vary/package.json +0 -43
|
@@ -0,0 +1,268 @@
|
|
|
1
|
+
// tools/ppi-bridge.js
|
|
2
|
+
import { spawn } from 'child_process';
|
|
3
|
+
import { createServer } from 'http';
|
|
4
|
+
import { join } from 'path';
|
|
5
|
+
|
|
6
|
+
const PORT = 3002;
|
|
7
|
+
|
|
8
|
+
// Function to call CLI playground with PPI code
|
|
9
|
+
function compileWithCLI(ppiCode) {
|
|
10
|
+
return new Promise((resolve, reject) => {
|
|
11
|
+
console.log(`๐ง Compiling via CLI: ${ppiCode.substring(0, 50)}...`);
|
|
12
|
+
|
|
13
|
+
// Use your existing CLI playground
|
|
14
|
+
const child = spawn('node', [join(process.cwd(), 'tools', 'ppi-playground.js'), 'test'], {
|
|
15
|
+
cwd: process.cwd(), // Stay in ppi-universe directory
|
|
16
|
+
env: {
|
|
17
|
+
...process.env,
|
|
18
|
+
PPI_CODE: ppiCode // Pass code via environment
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
let output = '';
|
|
23
|
+
let errorOutput = '';
|
|
24
|
+
|
|
25
|
+
child.stdout.on('data', (data) => {
|
|
26
|
+
output += data.toString();
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
child.stderr.on('data', (data) => {
|
|
30
|
+
errorOutput += data.toString();
|
|
31
|
+
});
|
|
32
|
+
|
|
33
|
+
child.on('close', (code) => {
|
|
34
|
+
if (code !== 0) {
|
|
35
|
+
reject(new Error(`CLI failed: ${errorOutput.substring(0, 200)}`));
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
// Parse the CLI output
|
|
40
|
+
const lines = output.split('\n');
|
|
41
|
+
let operation = '';
|
|
42
|
+
let compilationResults = {
|
|
43
|
+
'casha-dag': 'DAG_TRANSACTION',
|
|
44
|
+
'ethereum': 'ETHEREUM_TRANSACTION',
|
|
45
|
+
'solana': 'SOLANA_TRANSACTION'
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
// Extract operation from output
|
|
49
|
+
for (const line of lines) {
|
|
50
|
+
if (line.includes('PPI Expression:')) {
|
|
51
|
+
operation = line.split('PPI Expression:')[1].trim();
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
resolve({
|
|
56
|
+
success: true,
|
|
57
|
+
operation: operation || ppiCode,
|
|
58
|
+
compiled: {
|
|
59
|
+
real: true,
|
|
60
|
+
source: 'PPI CLI Compiler',
|
|
61
|
+
summary: 'Compiled successfully via CLI',
|
|
62
|
+
rawOutput: output.substring(0, 1000), // Limit size
|
|
63
|
+
chains: compilationResults
|
|
64
|
+
},
|
|
65
|
+
message: '๐ Real PPI Compilation via CLI Complete!'
|
|
66
|
+
});
|
|
67
|
+
});
|
|
68
|
+
|
|
69
|
+
// Timeout after 10 seconds
|
|
70
|
+
setTimeout(() => {
|
|
71
|
+
child.kill();
|
|
72
|
+
reject(new Error('CLI compilation timeout'));
|
|
73
|
+
}, 10000);
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
// Create HTTP server
|
|
78
|
+
const server = createServer(async (req, res) => {
|
|
79
|
+
console.log(`${new Date().toISOString()} ${req.method} ${req.url}`);
|
|
80
|
+
|
|
81
|
+
// Set CORS headers
|
|
82
|
+
res.setHeader('Access-Control-Allow-Origin', '*');
|
|
83
|
+
res.setHeader('Access-Control-Allow-Methods', 'GET, POST, OPTIONS');
|
|
84
|
+
res.setHeader('Access-Control-Allow-Headers', 'Content-Type');
|
|
85
|
+
|
|
86
|
+
// Handle preflight
|
|
87
|
+
if (req.method === 'OPTIONS') {
|
|
88
|
+
res.writeHead(200);
|
|
89
|
+
res.end();
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
// API endpoint - REAL PPI COMPILATION via CLI
|
|
94
|
+
if (req.method === 'POST' && req.url === '/api/compile') {
|
|
95
|
+
let body = '';
|
|
96
|
+
req.on('data', chunk => body += chunk);
|
|
97
|
+
req.on('end', async () => {
|
|
98
|
+
try {
|
|
99
|
+
const data = JSON.parse(body || '{}');
|
|
100
|
+
const code = data.code || 'PPI_SEND(100).TO("test@casha.com")';
|
|
101
|
+
|
|
102
|
+
// Use CLI compiler
|
|
103
|
+
const result = await compileWithCLI(code);
|
|
104
|
+
|
|
105
|
+
res.writeHead(200, {
|
|
106
|
+
'Content-Type': 'application/json; charset=UTF-8'
|
|
107
|
+
});
|
|
108
|
+
|
|
109
|
+
res.end(JSON.stringify(result, null, 2));
|
|
110
|
+
|
|
111
|
+
} catch (err) {
|
|
112
|
+
console.error('โ Bridge Error:', err.message);
|
|
113
|
+
res.writeHead(500, { 'Content-Type': 'application/json' });
|
|
114
|
+
res.end(JSON.stringify({
|
|
115
|
+
success: false,
|
|
116
|
+
error: err.message,
|
|
117
|
+
fallback: {
|
|
118
|
+
operation: 'Using fallback',
|
|
119
|
+
compiled: { demo: 'Try CLI directly: node tools/ppi-playground.js demo' }
|
|
120
|
+
}
|
|
121
|
+
}));
|
|
122
|
+
}
|
|
123
|
+
});
|
|
124
|
+
return;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
// Health check
|
|
128
|
+
if (req.method === 'GET' && req.url === '/api/health') {
|
|
129
|
+
res.writeHead(200, { 'Content-Type': 'application/json' });
|
|
130
|
+
res.end(JSON.stringify({
|
|
131
|
+
status: 'healthy',
|
|
132
|
+
service: 'PPI Bridge',
|
|
133
|
+
version: '1.0.0',
|
|
134
|
+
method: 'CLI integration',
|
|
135
|
+
description: 'Bridges web interface to CLI compiler'
|
|
136
|
+
}));
|
|
137
|
+
return;
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
// Demo page
|
|
141
|
+
if (req.method === 'GET' && req.url === '/') {
|
|
142
|
+
res.writeHead(200, {
|
|
143
|
+
'Content-Type': 'text/html; charset=UTF-8',
|
|
144
|
+
'Cache-Control': 'no-cache'
|
|
145
|
+
});
|
|
146
|
+
res.end(`
|
|
147
|
+
<!DOCTYPE html>
|
|
148
|
+
<html>
|
|
149
|
+
<head>
|
|
150
|
+
<title>PPI Bridge</title>
|
|
151
|
+
<meta charset="UTF-8">
|
|
152
|
+
<style>
|
|
153
|
+
body { font-family: sans-serif; padding: 40px; text-align: center; }
|
|
154
|
+
h1 { color: #667eea; }
|
|
155
|
+
.bridge {
|
|
156
|
+
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
|
157
|
+
color: white;
|
|
158
|
+
padding: 30px;
|
|
159
|
+
border-radius: 15px;
|
|
160
|
+
margin: 20px auto;
|
|
161
|
+
max-width: 600px;
|
|
162
|
+
}
|
|
163
|
+
button {
|
|
164
|
+
background: #48bb78;
|
|
165
|
+
color: white;
|
|
166
|
+
border: none;
|
|
167
|
+
padding: 12px 24px;
|
|
168
|
+
border-radius: 6px;
|
|
169
|
+
font-size: 16px;
|
|
170
|
+
cursor: pointer;
|
|
171
|
+
margin: 10px;
|
|
172
|
+
}
|
|
173
|
+
pre {
|
|
174
|
+
background: #1a202c;
|
|
175
|
+
color: #e2e8f0;
|
|
176
|
+
padding: 15px;
|
|
177
|
+
border-radius: 8px;
|
|
178
|
+
text-align: left;
|
|
179
|
+
overflow-x: auto;
|
|
180
|
+
}
|
|
181
|
+
</style>
|
|
182
|
+
</head>
|
|
183
|
+
<body>
|
|
184
|
+
<h1>๐ PPI Bridge</h1>
|
|
185
|
+
<p>Connecting web interface to your CLI compiler</p>
|
|
186
|
+
|
|
187
|
+
<div class="bridge">
|
|
188
|
+
<h2>๐ Test the Bridge</h2>
|
|
189
|
+
<button onclick="testBridge()">Test Compilation</button>
|
|
190
|
+
<div id="result" style="margin-top: 20px;"></div>
|
|
191
|
+
</div>
|
|
192
|
+
|
|
193
|
+
<script>
|
|
194
|
+
async function testBridge() {
|
|
195
|
+
const resultDiv = document.getElementById('result');
|
|
196
|
+
resultDiv.innerHTML = '<p>โณ Calling CLI compiler...</p>';
|
|
197
|
+
|
|
198
|
+
try {
|
|
199
|
+
const response = await fetch('/api/compile', {
|
|
200
|
+
method: 'POST',
|
|
201
|
+
headers: { 'Content-Type': 'application/json' },
|
|
202
|
+
body: JSON.stringify({
|
|
203
|
+
code: 'PPI_SEND(100).TO("test@casha.com").WITH_MESSAGE("From Bridge!")'
|
|
204
|
+
})
|
|
205
|
+
});
|
|
206
|
+
|
|
207
|
+
const data = await response.json();
|
|
208
|
+
|
|
209
|
+
if (data.success) {
|
|
210
|
+
resultDiv.innerHTML = \`
|
|
211
|
+
<p>โ
<strong>\${data.message}</strong></p>
|
|
212
|
+
<p>Operation: <code>\${data.operation}</code></p>
|
|
213
|
+
<pre>\${JSON.stringify(data.compiled, null, 2)}</pre>
|
|
214
|
+
\`;
|
|
215
|
+
} else {
|
|
216
|
+
resultDiv.innerHTML = \`
|
|
217
|
+
<p>โ Error: \${data.error}</p>
|
|
218
|
+
<pre>\${JSON.stringify(data.fallback, null, 2)}</pre>
|
|
219
|
+
\`;
|
|
220
|
+
}
|
|
221
|
+
} catch (error) {
|
|
222
|
+
resultDiv.innerHTML = \`<p>โ Connection error: \${error.message}</p>\`;
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
// Auto-test on load
|
|
227
|
+
testBridge();
|
|
228
|
+
</script>
|
|
229
|
+
</body>
|
|
230
|
+
</html>
|
|
231
|
+
`);
|
|
232
|
+
return;
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
// 404 for other routes
|
|
236
|
+
res.writeHead(404, { 'Content-Type': 'application/json' });
|
|
237
|
+
res.end(JSON.stringify({
|
|
238
|
+
error: 'Not found',
|
|
239
|
+
available: ['/', '/api/compile', '/api/health']
|
|
240
|
+
}));
|
|
241
|
+
});
|
|
242
|
+
|
|
243
|
+
// Start server
|
|
244
|
+
server.listen(PORT, () => {
|
|
245
|
+
console.log(`
|
|
246
|
+
๐ PPI BRIDGE SERVER
|
|
247
|
+
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
248
|
+
๐ URL: http://localhost:${PORT}
|
|
249
|
+
๐ Method: CLI integration
|
|
250
|
+
๐ API: POST /api/compile
|
|
251
|
+
๐ง Health: GET /api/health
|
|
252
|
+
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
253
|
+
๐ก This bridge calls your working CLI playground:
|
|
254
|
+
โข node tools/ppi-playground.js test
|
|
255
|
+
โข Passes PPI code via environment
|
|
256
|
+
โข Returns real compilation results
|
|
257
|
+
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
258
|
+
`);
|
|
259
|
+
});
|
|
260
|
+
|
|
261
|
+
// Handle errors
|
|
262
|
+
server.on('error', (error) => {
|
|
263
|
+
console.error('โ Bridge server error:', error);
|
|
264
|
+
if (error.code === 'EADDRINUSE') {
|
|
265
|
+
console.log(`Port ${PORT} is already in use. Try a different port.`);
|
|
266
|
+
process.exit(1);
|
|
267
|
+
}
|
|
268
|
+
});
|
|
@@ -0,0 +1,273 @@
|
|
|
1
|
+
// tools/ppi-playground-server.js - FIXED VERSION
|
|
2
|
+
import { createServer } from 'http';
|
|
3
|
+
import { readFileSync, existsSync } from 'fs';
|
|
4
|
+
import { join } from 'path';
|
|
5
|
+
import { spawn } from 'child_process';
|
|
6
|
+
|
|
7
|
+
const PORT = 3001;
|
|
8
|
+
const staticDir = join(process.cwd(), 'tools', 'playground-static');
|
|
9
|
+
|
|
10
|
+
// Function to call CLI playground with PPI code
|
|
11
|
+
async function compileViaCLI(ppiCode) {
|
|
12
|
+
return new Promise((resolve, reject) => {
|
|
13
|
+
console.log(`๐ง CLI Compile: ${ppiCode.substring(0, 50)}...`);
|
|
14
|
+
|
|
15
|
+
// Convert to uppercase for CLI
|
|
16
|
+
const cliCode = ppiCode
|
|
17
|
+
.replace(/\.to\(/gi, '.TO(')
|
|
18
|
+
.replace(/\.withMessage\(/gi, '.WITH_MESSAGE(')
|
|
19
|
+
.replace(/\.from\(/gi, '.FROM(')
|
|
20
|
+
.replace(/\.withArbitrator\(/gi, '.WITH_ARBITRATOR(')
|
|
21
|
+
.replace(/\.releaseWhen\(/gi, '.RELEASE_WHEN(')
|
|
22
|
+
.replace(/\.among\(/gi, '.AMONG(')
|
|
23
|
+
.replace(/\.equal\(/gi, '.EQUAL(');
|
|
24
|
+
|
|
25
|
+
console.log(` Converted to: ${cliCode.substring(0, 50)}...`);
|
|
26
|
+
|
|
27
|
+
const child = spawn('node', ['tools/ppi-playground.js'], {
|
|
28
|
+
cwd: process.cwd(),
|
|
29
|
+
env: {
|
|
30
|
+
...process.env,
|
|
31
|
+
PPI_WEB_CODE: cliCode
|
|
32
|
+
},
|
|
33
|
+
stdio: ['pipe', 'pipe', 'pipe']
|
|
34
|
+
});
|
|
35
|
+
|
|
36
|
+
let output = '';
|
|
37
|
+
let errorOutput = '';
|
|
38
|
+
|
|
39
|
+
child.stdout.on('data', data => {
|
|
40
|
+
output += data.toString();
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
child.stderr.on('data', data => {
|
|
44
|
+
errorOutput += data.toString();
|
|
45
|
+
});
|
|
46
|
+
|
|
47
|
+
child.on('close', (code) => {
|
|
48
|
+
console.log(` CLI exited with code: ${code}`);
|
|
49
|
+
|
|
50
|
+
if (code !== 0) {
|
|
51
|
+
console.error(' CLI stderr:', errorOutput.substring(0, 200));
|
|
52
|
+
reject(new Error(`CLI failed: ${errorOutput.substring(0, 200)}`));
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
// DEBUG: Show last 200 chars of output
|
|
57
|
+
console.log(' Output last 200 chars:', output.substring(output.length - 200));
|
|
58
|
+
|
|
59
|
+
// Get the last non-empty line (should be JSON)
|
|
60
|
+
const lines = output.trim().split('\n').filter(line => line.trim());
|
|
61
|
+
const lastLine = lines.length > 0 ? lines[lines.length - 1].trim() : '';
|
|
62
|
+
|
|
63
|
+
console.log(' Last line length:', lastLine.length);
|
|
64
|
+
console.log(' Last line preview:', lastLine.substring(0, 100));
|
|
65
|
+
|
|
66
|
+
if (!lastLine) {
|
|
67
|
+
console.error(' No output from CLI');
|
|
68
|
+
reject(new Error('CLI produced no output'));
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
try {
|
|
73
|
+
// Try to parse the last line as JSON
|
|
74
|
+
const jsonResult = JSON.parse(lastLine);
|
|
75
|
+
console.log('โ
Successfully parsed JSON from CLI');
|
|
76
|
+
resolve(jsonResult);
|
|
77
|
+
} catch (parseError) {
|
|
78
|
+
console.error(' JSON parse failed:', parseError.message);
|
|
79
|
+
|
|
80
|
+
// Try to find JSON anywhere in output
|
|
81
|
+
for (let i = lines.length - 1; i >= 0; i--) {
|
|
82
|
+
const line = lines[i].trim();
|
|
83
|
+
if (line.startsWith('{') && line.endsWith('}')) {
|
|
84
|
+
try {
|
|
85
|
+
const jsonResult = JSON.parse(line);
|
|
86
|
+
console.log(`โ
Found JSON at line ${i}`);
|
|
87
|
+
resolve(jsonResult);
|
|
88
|
+
return;
|
|
89
|
+
} catch (e) {
|
|
90
|
+
// Continue
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
// If we get here, no valid JSON found
|
|
96
|
+
reject(new Error(`No valid JSON in CLI output. Last line: ${lastLine.substring(0, 100)}`));
|
|
97
|
+
}
|
|
98
|
+
});
|
|
99
|
+
|
|
100
|
+
// Timeout after 15 seconds
|
|
101
|
+
setTimeout(() => {
|
|
102
|
+
if (child.exitCode === null) {
|
|
103
|
+
child.kill();
|
|
104
|
+
reject(new Error('CLI compilation timeout (15s)'));
|
|
105
|
+
}
|
|
106
|
+
}, 15000);
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
// [Rest of the server code remains the same - starting from "Create HTTP server" below]
|
|
111
|
+
// Create HTTP server
|
|
112
|
+
const server = createServer(async (req, res) => {
|
|
113
|
+
console.log(`${new Date().toLocaleTimeString()} ${req.method} ${req.url}`);
|
|
114
|
+
|
|
115
|
+
// Set CORS headers
|
|
116
|
+
res.setHeader('Access-Control-Allow-Origin', '*');
|
|
117
|
+
res.setHeader('Access-Control-Allow-Methods', 'GET, POST, OPTIONS');
|
|
118
|
+
res.setHeader('Access-Control-Allow-Headers', 'Content-Type');
|
|
119
|
+
|
|
120
|
+
// Handle preflight
|
|
121
|
+
if (req.method === 'OPTIONS') {
|
|
122
|
+
res.writeHead(200);
|
|
123
|
+
res.end();
|
|
124
|
+
return;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
// API endpoint - REAL PPI COMPILATION via CLI
|
|
128
|
+
if (req.method === 'POST' && req.url === '/api/compile') {
|
|
129
|
+
let body = '';
|
|
130
|
+
req.on('data', chunk => body += chunk);
|
|
131
|
+
req.on('end', async () => {
|
|
132
|
+
try {
|
|
133
|
+
const data = JSON.parse(body || '{}');
|
|
134
|
+
const code = data.code || 'PPI_SEND(100).to("test@casha.com")';
|
|
135
|
+
|
|
136
|
+
console.log(`๐จ Compile request: ${code.substring(0, 50)}...`);
|
|
137
|
+
|
|
138
|
+
// Use CLI compiler
|
|
139
|
+
const result = await compileViaCLI(code);
|
|
140
|
+
|
|
141
|
+
res.writeHead(200, {
|
|
142
|
+
'Content-Type': 'application/json; charset=UTF-8'
|
|
143
|
+
});
|
|
144
|
+
|
|
145
|
+
res.end(JSON.stringify(result, null, 2));
|
|
146
|
+
|
|
147
|
+
} catch (err) {
|
|
148
|
+
console.error('โ Server error:', err.message);
|
|
149
|
+
res.writeHead(500, { 'Content-Type': 'application/json' });
|
|
150
|
+
res.end(JSON.stringify({
|
|
151
|
+
success: false,
|
|
152
|
+
error: err.message,
|
|
153
|
+
fallback: {
|
|
154
|
+
operation: 'Demo mode',
|
|
155
|
+
compiled: {
|
|
156
|
+
'casha-dag': 'DAG_TRANSACTION',
|
|
157
|
+
'ethereum': 'ETHEREUM_TRANSACTION',
|
|
158
|
+
'solana': 'SOLANA_TRANSACTION'
|
|
159
|
+
},
|
|
160
|
+
message: 'Using demo mode - CLI compilation failed'
|
|
161
|
+
}
|
|
162
|
+
}));
|
|
163
|
+
}
|
|
164
|
+
});
|
|
165
|
+
return;
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
// Health check
|
|
169
|
+
if (req.method === 'GET' && req.url === '/api/health') {
|
|
170
|
+
res.writeHead(200, { 'Content-Type': 'application/json' });
|
|
171
|
+
res.end(JSON.stringify({
|
|
172
|
+
status: 'healthy',
|
|
173
|
+
service: 'PPI Web Playground',
|
|
174
|
+
version: '1.0.0',
|
|
175
|
+
method: 'CLI bridge',
|
|
176
|
+
timestamp: new Date().toISOString()
|
|
177
|
+
}));
|
|
178
|
+
return;
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
// Get chains endpoint
|
|
182
|
+
if (req.method === 'GET' && req.url === '/api/chains') {
|
|
183
|
+
res.writeHead(200, { 'Content-Type': 'application/json' });
|
|
184
|
+
res.end(JSON.stringify({
|
|
185
|
+
chains: [
|
|
186
|
+
{ id: 'casha-dag', name: 'Casha DAG', status: 'Ready' },
|
|
187
|
+
{ id: 'ethereum', name: 'Ethereum', status: 'Ready' },
|
|
188
|
+
{ id: 'solana', name: 'Solana', status: 'Ready' }
|
|
189
|
+
]
|
|
190
|
+
}));
|
|
191
|
+
return;
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
// Serve HTML from playground-static
|
|
195
|
+
if (req.method === 'GET' && req.url === '/') {
|
|
196
|
+
const htmlPath = join(staticDir, 'index.html');
|
|
197
|
+
if (existsSync(htmlPath)) {
|
|
198
|
+
try {
|
|
199
|
+
const html = readFileSync(htmlPath, 'utf8');
|
|
200
|
+
res.writeHead(200, {
|
|
201
|
+
'Content-Type': 'text/html; charset=UTF-8'
|
|
202
|
+
});
|
|
203
|
+
res.end(html);
|
|
204
|
+
} catch (err) {
|
|
205
|
+
res.writeHead(500, { 'Content-Type': 'text/plain' });
|
|
206
|
+
res.end('Error reading HTML file');
|
|
207
|
+
}
|
|
208
|
+
} else {
|
|
209
|
+
// Fallback HTML
|
|
210
|
+
res.writeHead(200, {
|
|
211
|
+
'Content-Type': 'text/html; charset=UTF-8',
|
|
212
|
+
'Cache-Control': 'no-cache'
|
|
213
|
+
});
|
|
214
|
+
res.end(`
|
|
215
|
+
<!DOCTYPE html>
|
|
216
|
+
<html>
|
|
217
|
+
<head>
|
|
218
|
+
<title>PPI Playground</title>
|
|
219
|
+
<style>
|
|
220
|
+
body { font-family: sans-serif; padding: 40px; text-align: center; }
|
|
221
|
+
h1 { color: #667eea; }
|
|
222
|
+
.info { background: #f7fafc; padding: 20px; border-radius: 10px; margin: 20px; }
|
|
223
|
+
</style>
|
|
224
|
+
</head>
|
|
225
|
+
<body>
|
|
226
|
+
<h1>๐งช PPI Web Playground</h1>
|
|
227
|
+
<div class="info">
|
|
228
|
+
<p>Create <code>tools/playground-static/index.html</code> to get started!</p>
|
|
229
|
+
<p>Or use the API:</p>
|
|
230
|
+
<pre>POST /api/compile</pre>
|
|
231
|
+
<p>With JSON: <code>{"code": "PPI_SEND(100).to('test@casha.com')"}</code></p>
|
|
232
|
+
</div>
|
|
233
|
+
</body>
|
|
234
|
+
</html>
|
|
235
|
+
`);
|
|
236
|
+
}
|
|
237
|
+
return;
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
// 404 for other routes
|
|
241
|
+
res.writeHead(404, { 'Content-Type': 'application/json' });
|
|
242
|
+
res.end(JSON.stringify({
|
|
243
|
+
error: 'Not found',
|
|
244
|
+
available: ['/', '/api/compile', '/api/health', '/api/chains']
|
|
245
|
+
}));
|
|
246
|
+
});
|
|
247
|
+
|
|
248
|
+
// Start server
|
|
249
|
+
server.listen(PORT, () => {
|
|
250
|
+
console.log(`
|
|
251
|
+
๐ PPI WEB PLAYGROUND SERVER
|
|
252
|
+
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
253
|
+
๐ URL: http://localhost:${PORT}
|
|
254
|
+
๐ API: POST /api/compile
|
|
255
|
+
๐ง Method: CLI bridge (real compilation!)
|
|
256
|
+
๐ Serving: ${staticDir}
|
|
257
|
+
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
258
|
+
๐ก Examples to try in web interface:
|
|
259
|
+
โข PPI_SEND(100).to("test@casha.com")
|
|
260
|
+
โข PPI_SEND(50).to("alice@casha.com").withMessage("Hello!")
|
|
261
|
+
โข PPI_ESCROW(200).from("buyer").to("seller")
|
|
262
|
+
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
263
|
+
`);
|
|
264
|
+
});
|
|
265
|
+
|
|
266
|
+
// Handle errors
|
|
267
|
+
server.on('error', (error) => {
|
|
268
|
+
console.error('โ Server error:', error);
|
|
269
|
+
if (error.code === 'EADDRINUSE') {
|
|
270
|
+
console.log(`Port ${PORT} is already in use. Try a different port.`);
|
|
271
|
+
process.exit(1);
|
|
272
|
+
}
|
|
273
|
+
});
|